Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain any authenticated JeecgBoot account
-
ExploitSend PUT to updateAvatar with victim user id
-
ExecutionMissing authorization check bypassed
-
ImpactOverwrite admin avatar with attacker URL
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires a valid authenticated JeecgBoot account of any privilege level (PR:L) that can reach the SystemApiController updateAvatar endpoint over the network; the attacker must be able to send a PUT request supplying an arbitrary target user id plus an avatar value. No user interaction, no admin rights, and no non-default configuration are needed - the flaw is the absence of an ownership/authorization check on the handler. Limiting factors: exploitation is gated on obtaining at least one low-privileged account and on the endpoint being reachable, and the direct impact is confined to modifying the avatar field (LOW integrity), with no inherent confidentiality or availability loss unless the stored avatar value is further abused downstream. |
| Impact | This is a genuine but low-to-moderate priority issue, not a critical emergency. The CVSS 4.0 base score is 5.3 (Medium), and every signal points to limited impact: the vector is AV:N/AC:L/PR:L/UI:N with VC:N/VI:L/VA:N, meaning network-reachable, low-complexity, but requiring a valid low-privileged account and yielding only LOW integrity impact (no confidentiality or availability loss). The vulnerability is missing authorization (CWE-862) in the SystemApiController updateAvatar handler - an authenticated user can overwrite another user's (including an administrator's) avatar value. Publicly available exploit code exists (a VulnCheck-linked GitHub PoC), which raises practical exploitability, but there is no CISA KEV listing and no EPSS score was provided, so there is no evidence of active or widespread exploitation - PoC availability and active exploitation are distinct signals and should not be conflated. The realistic ceiling is limited data tampering / stored-content manipulation (e.g., planting an attacker-controlled image URL as an admin's avatar), which could be chained into phishing, UI spoofing, or stored-SSRF/XSS depending on how the avatar value is later rendered or fetched - but the CVE data itself only substantiates unauthorized modification of the avatar field. Net: patch in normal cadence; prioritize above baseline only if JeecgBoot is internet-exposed with many low-privileged accounts. |
| Exploit ScenarioDerived | A low-privileged but authenticated JeecgBoot user (or someone who self-registered/obtained any account) sends a PUT request to the updateAvatar endpoint specifying a victim's user id - such as an administrator - and an attacker-controlled image URL as the avatar value. Because the handler performs no ownership/authorization check, the server accepts the change and replaces the target user's avatar. A working Python PoC is publicly available (poc_sys_api_update_avatar.py), lowering the barrier to reliable exploitation. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 10, 2026
JeecgBoot through 3.9.5 permits any authenticated low-privileged user to alter another user's avatar, including an administrator's, by sending a PUT request with an arbitrary target user ID and avatar value to the SystemApiController updateAvatar endpoint. The independent assessment rates this as a low-to-moderate priority authenticated integrity-check failure: network reachable, low privileges required, no user interaction, and only low impact to avatar data with no confidentiality or availability loss. Publicly available exploit code exists, but no CISA KEV active exploitation is indicated.
RemediationAI
No vendor-released patched version is specified in the provided data, so upgrade beyond 3.9.5 only when the JeecgBoot project publishes a fix, and track the VulnCheck advisory at https://www.vulncheck.com/advisories/jeecgboot-through-3.9.5-missing-authorization-via-sys-api-updateavatar for updates. Until a patch is available, add or enforce an ownership or role check in SystemApiController.updateAvatar so that the target user id must equal the authenticated principal's id or the caller must have an explicit administrative privilege; this is the most direct compensating control but requires code changes and testing. If avatar updates are not needed, disable or block the updateAvatar API route at the gateway or reverse proxy, with the trade-off that legitimate avatar changes will fail for all users. Restrict network access to the SystemApiController endpoint to trusted management networks and monitor for PUT requests carrying unexpected user IDs or off-domain avatar URLs; this reduces exposure but does not fully fix the missing authorization. Validate avatar values with an allowlist of URL schemes and domains plus length limits to limit downstream abuse of stored avatar content, accepting that external image sources may be blocked.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The affected component is the Java and Spring Boot based JeecgBoot rapid development platform, specifically the SystemApiController updateAvatar handler. The CPE cpe:2.3:a:jeecgboot:jeecgboot:*:*:*:*:*:*:*:* identifies JeecgBoot as the affected product, and the description scopes vulnerable versions through 3.9.5. The root cause is CWE-862 Missing Authorization: the endpoint accepts a target user id and avatar value via PUT but does not verify that the authenticated caller owns the target account or is authorized to edit it. The independent CVSS 3.1 assessment AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N aligns with the provided CVSS 4.0 vector PR:L and low integrity-only impact, confirming no confidentiality or availability impact. The supplied tag Authentication Bypass is imprecise here; the issue is an authenticated user bypassing an ownership or role check, not bypassing authentication to obtain an account. A public Python proof-of-concept targeting the endpoint exists.
Know when Jeecgboot gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
Network-reachable endpoint (AV:N), trivial request (AC:L), needs any authenticated account (PR:L), no interaction (UI:N); only unauthorized avatar modification gives I:L with C:N/A:N.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
JeecgBoot through 3.9.5 contains a missing authorization vulnerability in the SystemApiController updateAvatar handler that allows any authenticated user to change other users' avatars. Low-privileged attackers can send PUT requests with a target user id and an arbitrary value, such as an attacker-controlled image URL, to replace administrators' avatars.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Unauthenticated report data exfiltration in JimuReport (JeecgBoot) through version 2.5.0 lets remote attackers export th
Broken access control in JeecgBoot through 3.9.2 lets authenticated low-privilege users reach the OpenApiAuthController
Privilege escalation in JeecgBoot through 3.9.5 lets any authenticated user approve their own pending tenant administrat
Missing authorization in the saveDeptRolePermission endpoint of JeecgBoot's SysDepartPermissionController lets any authe
SQL injection vulnerability in Beijing Guoju Information Technology Co., Ltd JeecgBoot v.3.7.2 allows a remote attacker
JeecgBoot up to v 3.5.1 was discovered to contain a SQL injection vulnerability via the component queryFilterTableDictIn
JeecgBoot up to v 3.5.1 was discovered to contain a SQL injection vulnerability via the component queryTableDictItemsByC
JeecgBoot through 3.9.5 ships a system log controller whose batch-delete handler performs no authorization check, so any
Database credential disclosure in JeecgBoot through 3.9.5 allows any authenticated low-privileged user to retrieve JDBC
Missing authorization in JeecgBoot through 3.9.5 lets any authenticated user enumerate record IDs through the unguarded
Authenticated low-privileged users of JeecgBoot through 3.9.5 can retrieve any other user's stored password ciphertext t
Authenticated users of any privilege level on JeecgBoot through 3.9.5 can rewrite DingTalk, WeCom, or Feishu third-party
EUVD-2026-96591
GHSA-w99x-m7g5-9xgv
NVD
CVE.org
EPSS
VulDB
Exploit-DB