Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate with any low-privilege account
-
ExploitCall unlisted /admin/user-role/save endpoint
-
ExecutionAssign administrator role to self
-
ImpactReset passwords and control integrated SSO systems
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization logic validation
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 | The attacker must hold a valid authenticated session on the smart-sso server (PR:L) - any registered low-privilege user account suffices; it is not exploitable by a fully anonymous attacker. The decisive condition is PermissionFilter's default-allow behavior: it only enforces authorization on request paths explicitly registered in sso_permission.code, and any unlisted path (including backend admin APIs such as /admin/user-role/save) is permitted by default. This means default deployments are vulnerable out of the box, because the built-in admin console registers page paths (xxx.html) rather than the backend servlet API paths. The primary limiting factor is the account requirement; a deployment is only protected if administrators have manually registered the backend API paths into the permission table (and re-logged in to refresh the permission snapshot), which the vendor documentation indicates is not the default. |
| Impact | This is a genuine priority rather than a CVSS-inflated non-issue, though it is not a drop-everything emergency. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N) scores 8.7 and is internally consistent with the description: network-reachable, low attack complexity, and crucially PR:L - exploitation requires an existing authenticated (low-privilege) account, not an anonymous attacker. The impact triad VC:H/VI:H/VA:H is well justified because a successful attacker self-assigns the administrator role and can reset passwords and manage users, roles, and applications. Because smart-sso is an identity/SSO broker, the practical blast radius extends to every integrated downstream application, so the real-world impact arguably exceeds what the SC:N/SI:N/SA:N (no subsequent-system) metrics capture. On the exploitation-likelihood side the signals are weaker and partially absent: no EPSS score was provided, and there is no CISA KEV listing, so there is no confirmed-active-exploitation signal - this is no public exploit identified at time of analysis, with the caveat that the vulnerable code path, the exact endpoint (/admin/user-role/save), and the root cause are fully documented in the public VulnCheck advisory, the GitHub issue, and the source/commit references, which makes reliable reproduction trivial for anyone with an account. The vendor's own priority label is 'this_week', consistent with a serious but authentication-gated flaw rather than an emergency. Missing data to note: no EPSS and no KEV status were supplied, so exploitation probability cannot be quantified from the input. |
| Exploit ScenarioDerived | An attacker who holds any ordinary authenticated account on a smart-sso deployment (for example a self-registered or low-privilege user) sends a request directly to the unlisted admin endpoint /admin/user-role/save, which PermissionFilter allows by default because the path was never registered in sso_permission.code. The request binds the administrator role to the attacker's own user, after which they can reset other users' passwords and administer users, roles, and applications across all SSO-integrated systems. No separate exploit tool is required; the technique is documented in the public advisory and source references, so exploitation is straightforward despite no confirmed in-the-wild activity. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Nov 03, 2026
Incorrect authorization in smart-sso through 2.0.1 lets any registered low-privilege user reach admin console APIs, because PermissionFilter only enforces permissions on request paths that are explicitly registered in sso_permission.code and allows every unlisted path by default. The built-in admin console registers page paths such as xxx.html rather than the backend servlet paths, so a default deployment leaves endpoints like /admin/user-role/save reachable; calling it lets an attacker grant themselves the administrator role, reset passwords, and manage users, roles, and applications across integrated systems. Exploitation requires a valid authenticated session (PR:L) and is not possible for a fully anonymous attacker; the vendor has published an upstream fix (commit 9bccabaa5ec5 plus a second commit) and a fixed release version is not stated in the available data. A public PoC reference exists; it is not verified as working exploit code, and no confirmed active exploitation (CISA KEV) was identified at time of analysis.
RemediationAI
Apply the upstream fixes referenced for this issue, commits 9bccabaa5ec5 and a74a791bea7fc7b06ce95f52ce5805d8d7886d48 (https://github.com/a466350665/smart-sso/commit/9bccabaa5ec5 and https://github.com/a466350665/smart-sso/commit/a74a791bea7fc7b06ce95f52ce5805d8d7886d48); patch status is available from the vendor, but a tagged fixed release version is not stated in the available data, so confirm the release line before upgrading. Because PermissionFilter keeps allowing unregistered paths by default, the code fix alone is not a complete control: register every sensitive backend servlet path (for example /admin/user-role/save and other admin APIs) as a permission code in the permission management console, grant them only to appropriate roles, and have users re-login so the permission snapshot is refreshed, at the cost of permission data becoming a maintained, security-critical configuration surface. Where such registration cannot be completed immediately, restrict the admin console paths at the network or reverse-proxy layer to trusted administrative source addresses and audit existing role assignments and password resets for signs of self-promotion, accepting that this blocks legitimate remote administration. The vendor advisory and issue discussion are at https://www.vulncheck.com/advisories/smart-sso-through-2.0.1-incorrect-authorization-in-permissionfilter-enables-admin-escalation and https://github.com/a466350665/smart-sso/issues/79.
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
smart-sso is a Java single sign-on platform distributed as a server (smart-sso-server) and a client starter (smart-sso-starter-client) that integrated applications embed to enforce access decisions. The root cause is CWE-863, Incorrect Authorization: the client-side PermissionFilter compares request.getServletPath() against permission codes registered in the sso_permission table using exact string matching and treats unmatched paths as permitted, so authorization is opt-in per path rather than default-deny. Because the permission snapshot shipped with the admin console registers HTML page paths instead of the backend servlet API paths, the controller layer (for example UserRoleController, whose /admin/user-role/save endpoint assigns user roles) is reachable by any logged-in user. The upstream patch keeps default-allow for unregistered paths but documents and reinforces that sensitive servlet paths must be registered and returns HTTP 403 with code 000020 for registered-but-unauthorized requests; the practical consequence is that the fix is configuration-dependent, and the deployer must register the real API paths and re-authenticate to refresh the permission snapshot. The CVSS 4.0 score of 8.7 and the assessed CVSS 3.1 vector AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H both reflect a remotely reachable, low-privilege-account, no-user-interaction flaw with high confidentiality, integrity and availability impact confined to the smart-sso scope.
Know when Smart Sso 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:H/VI:H/VA:H/SC:N/SI:N/SA:N
Network-reachable admin API with low complexity; PR:L because any authenticated user qualifies; full admin takeover yields C:H/I:H/A:H; scope kept Unchanged for consistency with the supplied 4.0 subsequent-system metrics.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
smart-sso through 2.0.1 contains an incorrect authorization vulnerability in PermissionFilter that allows any authenticated user to call admin console APIs because unlisted paths are permitted by default. Attackers can call /admin/user-role/save to assign themselves the administrator role, reset passwords, and manage users, roles, and applications across integrated systems.
Executive ViewAI
CVE-2026-121543 in smart-sso (through 2.0.1) allows any low-privilege authenticated user to escalate to administrator due to a faulty authorization filter that leaves backend admin APIs unprotected. This puts integrated systems at risk of unauthorized role changes, password resets, and user/application management. Leadership should prioritize remediation because a single compromised low-privilege account can lead to full administrative control across connected systems.
Apply vendor patch.
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.
Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.
Unauthenticated remote attackers can steal OAuth2 authorization codes from smart-sso deployments running version 2.1.1 o
Smart SSO up to version 2.1.1 contains a reflected cross-site scripting vulnerability in the login page's redirectUri pa
A vulnerability was determined in a466350665 Smart-SSO up to 2.1.1. This affects the function Save of the file smart-sso
EUVD-2026-115888
NVD
CVE.org
GitHub
Exploit-DB