Skip to main content

AngularJS EUVDEUVD-2026-39080

| CVE-2026-11998 HIGH
Incomplete Filtering of Special Elements (CWE-791)
2026-06-24 36c7be3b-2937-45df-85ea-ca7133ea542c GHSA-7x27-g8rg-x87w
7.6
CVSS 3.1 · Vendor: 36c7be3b-2937-45df-85ea-ca7133ea542c
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Recon
    Identify AngularJS app with unanchored SCE regex allowlist
  2. Delivery
    Craft URL with trusted-looking substring
  3. Exploit
    Deliver link or inject into rendered data
  4. Install
    Victim loads affected page
  5. C2
    Partial regex match bypasses SCE policy
  6. Execute
    Malicious resource URL executes JavaScript
  7. Impact
    Hijack victim browser session

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V2 - Validation and Business Logic Input filtering completeness
Exploitation Conditions

Exploitation requires that the target AngularJS application (>= 1.2.0-rc.3) define its SCE resource-URL allowlist (resourceUrlWhitelist) using regular-expression matchers that are not fully anchored, AND that attacker-influenced data reach a resource-URL sink such as ng-include, a route/template URL, <script> src, or <iframe> document source. The CVSS UI:R requirement means the victim must load or interact with the affected page, so it is not a zero-click remote attack. Limiting factors: apps that use only exact-string allowlist entries, that never pass untrusted input into resource-URL contexts, or that enforce a strict CSP are substantially less exposed; no authentication is required of the attacker (PR:N), but the specific vulnerable regex configuration is the gating prerequisite.

Impact

The signals are mixed-but-meaningful. The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:L/A:L, 7.6 High) describes a network-reachable, low-complexity, unauthenticated bypass that nonetheless requires user interaction (UI:R) - the victim must load an affected page where attacker-influenced data flows into a resource-URL sink, which is a real limiting factor and means this is not a wormable, fully automatable flaw. No EPSS score, no CISA KEV entry, and no SSVC decision data were supplied, so exploitation probability cannot be quantified from the input; treat the absence of KEV as 'no public exploit identified as actively exploited' rather than proof of safety. A working CodePen proof-of-concept from the reporting vendor (HeroDevs) demonstrates the bypass, raising practical risk above a purely theoretical issue. The dominant real-world risk driver is not raw CVSS but the End-of-Life status: because AngularJS will never be patched upstream, any remaining deployment carries permanent exposure. Net: a genuine, moderate-to-high priority for organizations still running AngularJS, gated mainly by whether an app passes untrusted data into SCE-protected resource-URL contexts.

Exploit ScenarioDerived

An attacker identifies an AngularJS app whose SCE resource-URL allowlist uses an unanchored regular expression, then crafts a URL containing a trusted-looking substring that satisfies the partial match while the effective target loads attacker script. When a victim visits a page (or follows a link) that renders the attacker-influenced URL into a script src, iframe, or template context, the script executes in the victim's session - exfiltrating session data or acting as the user. A CodePen proof-of-concept demonstrating the SCE bypass is publicly available.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jun 24, 2026

Arbitrary JavaScript execution in AngularJS (all versions from 1.2.0-rc.3 onward) arises from a flaw in Strict Contextual Escaping (SCE) where resource-URL allowlist regular expressions are matched against URLs as partial rather than whole-string matches, letting attacker-controlled values slip past trusted-URL policies. A successful bypass runs script in the victim's browser session (script src, iframe documents, route templates), enabling client-side compromise; the framework is End-of-Life with no upstream fix, and a CodePen demonstration of the bypass is publicly available. No CISA KEV listing and no evidence of active exploitation were provided.

RemediationAI

No vendor-released patch has been identified at time of analysis - AngularJS is End-of-Life and will receive no upstream fix - so the strategic remediation is migration off AngularJS to a supported framework, or adoption of a commercial extended-support/backported build such as HeroDevs Never-Ending Support (see https://www.herodevs.com/vulnerability-directory/cve-2026-11998). As compensating controls until then: audit every use of $sce.trustAsResourceUrl and resourceUrlWhitelist/resourceUrlBlacklist and replace permissive regex entries with exact-string or fully anchored ('^...$') patterns that cannot partial-match, since the bug is incomplete anchoring (this is the most direct mitigation but requires reviewing all allowlist definitions). Additionally, deploy a strict Content-Security-Policy that constrains script-src/frame-src/default-src to known origins to limit the impact of a bypass (trade-off: may break inline or third-party resources and requires testing), and avoid feeding untrusted/user-controlled input into resource-URL sinks (ng-include, route template URLs, iframe src). Cite the HeroDevs advisory above when tracking this internally.

Affected VersionsENISA

AngularJS 1.2.0-rc.3

Affected Packages

npm angular no fix
euvd angularjs no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in npm, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

AngularJS' SCE subsystem ($sce) is the framework's defense for security-sensitive contexts, gating values used as resource URLs - including <script> src, ng-include/route templates, and <iframe> document sources - through a trusted-URL allowlist (resourceUrlWhitelist) that developers commonly express with regular expressions. The vulnerability, classed as CWE-791 (incomplete filtering of special elements), stems from the matcher comparing a candidate URL against these regex patterns without anchoring to the full string, so a regex intended to match an entire trusted origin instead matches only a substring. An attacker can therefore craft a URL whose trusted-looking fragment satisfies the pattern while the operative portion points to attacker-controlled script, defeating the very allowlist meant to enforce trust. The flaw is in AngularJS core (the 1.x line, ubiquitous in legacy single-page apps), affecting every release at or above 1.2.0-rc.3.

Know when the next one hits your stack

  • 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

Vendor (36c7be3b-2937-45df-85ea-ca7133ea542c) PRIMARY 7.6 HIGH
AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:L/A:L
vuln.today AI 7.6 HIGH

Network-reachable, low-complexity, unauthenticated bypass but the victim must load an affected page (UI:R); arbitrary in-session script yields high confidentiality with limited integrity/availability impact.

3.1 AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:L/A:L
4.0 AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:L/VA:L/SC:N/SI:N/SA:N
Red Hat 7.6 HIGH

Primary rating from Vendor (36c7be3b-2937-45df-85ea-ca7133ea542c).

CVSS VectorVendor: 36c7be3b-2937-45df-85ea-ca7133ea542c

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
Required
Scope
Unchanged
Confidentiality
High
Integrity
Low
Availability
Low

DescriptionCVE.org

A flaw in AngularJS' Strict Contextual Escaping (SCE) logic allows bypassing certain SCE policies for resource URLs and can lead to arbitrary JavaScript execution within the context of the victim's browser session.

SCE's purpose is to ensure that only trusted or safe values are used in certain security-sensitive contexts, such as resource URLs, including URLs that define executable JavaScript scripts, '<iframe>' documents, route templates, etc. A flaw in the logic that tries to match entire URLs against regular expression matchers can result in partial matches for certain types of regular expressions, effectively bypassing the policies and allowing the use of unsafe values as resource URLs.

This issue affects AngularJS versions greater than or equal to 1.2.0-rc.3.

Note: The AngularJS project was already End-of-Life when this CVE was published and will not receive any updates to address this issue. For more information see the  End-of-Life announcement https://docs.angularjs.org/misc/version-support-status .

Executive ViewAI

Why It Matters

AngularJS (versions 1.2.0-rc.3 and later) contains a Strict Contextual Escaping bypass vulnerability enabling arbitrary JavaScript execution in user browsers, with publicly available exploit code demonstrating the flaw. Since AngularJS is end-of-life without vendor patches, organizations using this framework face persistent client-side compromise that cannot be remediated through patching; affected applications require either migration to modern frameworks or strict compensating controls.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: (1) Implement strict Content Security Policy prohibiting inline script execution and restricting script sources to explicit allowlist; (2) Audit and remove or restrict AngularJS directives vulnerable to SCE bypass (ng-include, ng-bind-html, ng-show with user input); (3) Deploy Web Application Firewall rules to detect and block known SCE bypass attempt patterns; (4) Enforce mandatory code review for all URL handling and template injection code paths; (5) Isolate affected applications from sensitive data and critical business systems; (6) Execute framework migration to actively-maintained platform with defined timeline and executive oversight.

Threat Intelligence Overview

EPSS Score
0.2%
Top 91% exploitable
Prevalence
High
AngularJS 1.x still powers large numbers of legacy enterprise single-page apps
Threat Intel
1
1 sources
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA Vendor VulDB

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

38
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

Vendor StatusVendor

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy