Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft URL with ?sap-themeRoot pointing to attacker domain
-
DeliveryDeliver link via phishing to SAP application user
-
ExploitVictim loads attacker-influenced URL in browser
-
ExecutionsetThemeRoot() skips cross-origin allowlist validation
-
PersistBrowser fetches malicious CSS via injected <link rel=stylesheet>
-
ImpactCSS redressing, phishing overlay, or attribute-selector exfiltration executes
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Authentication required for critical functions
MITRE ATT&CK
1 technique across 1 tactic: Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires attacker-influenced input to reach setThemeRoot() - the most accessible path is the ?sap-themeRoot URL query parameter, which requires only that a victim load an attacker-crafted URL (no server-side access or authentication by the attacker required; CVSS PR:N confirmed). Alternative trigger paths include attacker control over tenant configuration settings or user-supplied theme preferences that are passed to setThemeRoot(), which would require a higher level of attacker access to the application configuration layer. The vulnerability fires even when no <meta name=sap-allowed-theme-origins> tag is present in the document, meaning absence of the allowlist meta tag is not a safe fallback state. Exploitation is limited by: (1) mandatory victim interaction - the user must navigate to or be tricked into loading the attacker-influenced URL (CVSS UI:R), ruling out fully automated or worm-style propagation; (2) impact ceiling is CSS-only - no JavaScript execution path exists through this vector, so there is no direct privilege escalation or remote code execution; (3) data exfiltration via CSS is constrained to visible, predictable DOM content using attribute selectors and requires attacker-controlled server infrastructure to receive the exfiltrated data. |
| Impact | The CVSS 3.1 score of 6.1 (Medium) is broadly appropriate: the scope-changed metric (S:C) reflects that injected CSS affects the entire victim page beyond the component itself, but the limited C:L/I:L impacts and mandatory user interaction (UI:R) keep severity below high. The AV:N/AC:L/PR:N combination is the key risk driver - the ?sap-themeRoot URL parameter path requires no special access or authentication from the attacker, only a phishing-deliverable link. No EPSS score is available in the provided data, so exploitation probability cannot be quantified. The vulnerability is absent from CISA KEV, indicating no confirmed mass exploitation; no public POC has been identified at time of analysis. The CPE wildcard (all versions of @ui5/webcomponents-base) suggests broad within-ecosystem exposure, but the impact ceiling is CSS-only: no JavaScript execution, no direct remote code execution, and data exfiltration is limited to predictable, visible DOM content via attribute selectors. Real-world risk is highest for SAP environments where users regularly receive and act on links to Fiori applications - a common enterprise workflow that makes the phishing delivery vector realistic. The CWE-306 assignment is inconsistent with the described root cause (allowlist bypass rather than missing authentication), which may cause inaccurate automated risk-scoring - security teams should assess this as an origin-validation failure rather than an authentication bypass. |
| Exploit ScenarioDerived | An attacker crafts a URL to a target SAP Fiori or UI5-based application, appending ?sap-themeRoot=https://attacker.example.com/evil/ where the attacker hosts a malicious CSS file, and delivers it to a victim via phishing email - a plausible vector since SAP application links are routinely shared in enterprise workflows. When the victim loads the URL, setThemeRoot() processes the parameter, bypasses the allowlist check, constructs a <link rel=stylesheet> pointing to the attacker's server, and the browser silently fetches the malicious stylesheet. The injected CSS then renders fake login overlays, obscures legitimate UI elements to redirect user actions (clickjacking), or exfiltrates visible DOM attribute values using CSS attribute selector timing/background-image techniques. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 14, 2026
CSS stylesheet injection in SAP @ui5/webcomponents-base allows unauthenticated remote attackers to load arbitrary cross-origin stylesheets into victim pages by bypassing the sap-allowed-theme-origins allowlist enforcement inside setThemeRoot(). The ?sap-themeRoot URL query parameter is a direct delivery vector, making socially-engineered exploitation trivial - no authentication is required from the attacker (CVSS PR:N), only a victim page load (UI:R). Successful exploitation enables UI redressing, clickjacking, phishing overlays, visual defacement, and limited CSS attribute-selector-based data exfiltration; no public exploit identified at time of analysis, and the vulnerability is not listed in CISA KEV.
RemediationAI
The primary fix is to apply the patched release of @ui5/webcomponents-base referenced in GitHub Security Advisory GHSA-p8gx-753q-v89p (https://github.com/UI5/webcomponents/security/advisories/GHSA-p8gx-753q-v89p) and the SAP Security Patch Day advisory (https://url.sap/sapsecuritypatchday); upstream fix available (PR/commit), but the exact released patched version is not independently confirmed from available data - consult the advisories directly to identify the correct target version before updating. As an immediate compensating control, strip or reject the ?sap-themeRoot query parameter at the reverse proxy or WAF layer before requests reach the UI5 application, neutralising the most accessible delivery vector; this may break legitimate theme-switching workflows that rely on that parameter, so verify against business requirements before deploying. Deploy a strict Content Security Policy style-src directive limiting stylesheet loads to approved origins (e.g., your own SAP domain), which prevents the browser from loading attacker-hosted CSS even if the vulnerable code path executes - note this requires regression testing against existing SAP Fiori theme loading. Additionally, audit and validate any tenant configuration or user-supplied settings that invoke setThemeRoot() to enforce server-side allowlist checks against a fixed set of permitted theme origins as a defence-in-depth layer.
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 library, CPE cpe:2.3:a:sap_se:@ui5/webcomponents-base:*:*:*:*:*:*:*:*, is the foundational layer of SAP's UI5 Web Components framework, which underpins SAP Fiori applications, SAP Business Technology Platform (BTP) UIs, and custom enterprise frontends built on the @ui5/webcomponents ecosystem. The setThemeRoot() function dynamically loads theme CSS by constructing a <link rel=stylesheet> element targeting a caller-supplied root URL. A security mechanism - the sap-allowed-theme-origins meta tag allowlist - was intended to restrict which cross-origin URLs qualify as trusted theme sources, but the enforcement logic was either absent or bypassable: the function accepted absolute cross-origin URLs even when no <meta name=sap-allowed-theme-origins> tag was present in the document. The same bypass was independently reachable via the ?sap-themeRoot URL query parameter, which allows an attacker to influence setThemeRoot() without any server-side interaction. Browsers do not apply CORS restrictions to <link rel=stylesheet> loads (unlike XHR/fetch), making CSS injection via this vector a well-understood browser security boundary - the defence depends entirely on the application-layer allowlist that was not enforced. The assigned CWE-306 (Missing Authentication for Critical Function) is a debatable mapping; the root cause more precisely fits CWE-346 (Origin Validation Error) or CWE-184 (Incomplete List of Disallowed Inputs), which may affect automated risk-scoring tooling that relies on CWE classification.
Know when Ui5 Webcomponents Base 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
AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
URL parameter delivery requires no privileges; victim page load is mandatory (UI:R); CSS injection crosses into victim page scope (S:C); no availability impact applies.
Primary rating from Vendor (sap).
CVSS VectorVendor: sap
Lifecycle Timeline
1DescriptionCVE.org
setThemeRoot() failed to enforce the sap-allowed-theme-origins allowlist. An attacker-controlled absolute cross-origin URL could be stored and used directly to construct a <link rel=stylesheet> element, even when no <meta name=sap-allowed-theme-origins> tag was present in the document. The same bypass was reachable via the ?sap-themeRoot URL parameter.Exploitation requires attacker-influenced input (e.g., a URL query parameter, tenant configuration, or user-supplied setting) to reach setThemeRoot(). A successful exploit allows an attacker to inject arbitrary CSS into the victim page, enabling:- UI redressing and clickjacking- Phishing overlays- Visual defacement- Limited data exfiltration via CSS attribute selectors targeting predictable DOM content
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.
EUVD-2026-43597
GHSA-5hp5-q35j-vjpg
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB