PHP2Shell: Read our blog on the critical RCE vulnerabilities affecting 70% of the Internet

CVE-2025-4690: 
Linux Debian vulnerability analysis and mitigation

Overview

CVE-2025-4690 is a Regular Expression Denial of Service (ReDoS) vulnerability in the linky filter of AngularJS's ngSanitize module. The vulnerability affects all versions of AngularJS, which is now End-of-Life and will not receive patches. It was published on August 19, 2025, with the CVE assigned by HeroDevs. The CVSS v3.1 base score is 4.3 (Medium) (Red Hat Advisory, HeroDevs Blog).

Technical details

The root cause is classified as CWE-1333 (Inefficient Regular Expression Complexity). The linky filter uses a regular expression to detect URLs in input text; this regex is susceptible to super-linear (exponential) backtracking when processing specially crafted input strings. An attacker who can supply input to a field processed by the linky filter can trigger catastrophic backtracking in the JavaScript regex engine, causing the application's event loop to stall. No authentication is required, but user interaction (e.g., submitting crafted input) is needed to trigger the vulnerable code path (HeroDevs Blog, EUVD). A proof-of-concept demonstrating the issue is publicly available via CodePen (HeroDevs PoC).

Impact

Successful exploitation causes a temporary denial of service by blocking the JavaScript event loop on the server or client rendering the affected page, resulting in low availability impact with no confidentiality or integrity loss. The scope is limited to the affected application instance; lateral movement is not a direct consequence of this vulnerability. Applications that expose user-controlled input to the linky filter — such as comment fields, messaging features, or any text rendered through ngSanitize — are at risk of becoming unresponsive under attack (Red Hat Advisory, HeroDevs Blog).

Exploitability

A public proof-of-concept is available on CodePen (HeroDevs PoC). There is no evidence of in-the-wild exploitation or threat actor attribution at this time. The EPSS score is approximately 0.015% (0.000150), indicating a very low probability of exploitation in the near term. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. Detection is available via Nessus plugin 278624 (Tenable).

Exploitation steps

  1. Identify target: Locate a web application using AngularJS's ngSanitize module with the linky filter applied to user-controlled input (e.g., a comment box, bio field, or messaging feature).
  2. Craft malicious input: Construct a large string designed to trigger catastrophic backtracking in the linky filter's URL-detection regex — for example, a long sequence of characters that partially matches URL patterns but forces repeated backtracking (see the public PoC for a working example).
  3. Submit the payload: Submit the crafted string through the vulnerable input field. No authentication is required; the input only needs to reach the linky filter processing path.
  4. Trigger ReDoS: The regex engine enters super-linear backtracking, consuming excessive CPU time and blocking the JavaScript event loop, causing the application to become unresponsive or significantly degraded for the duration of processing (HeroDevs Blog, HeroDevs PoC).

Indicators of compromise

  • Logs: Sudden spike in request processing time or timeouts for endpoints that render user-supplied text through the linky filter; application error logs showing event loop blocking or unresponsive state.
  • Process: Abnormally high CPU utilization by the Node.js or browser process rendering the AngularJS application, sustained for an unusual duration after receiving specific input.
  • Network: Repeated submissions of unusually long strings (hundreds to thousands of characters) to input fields on AngularJS-powered pages, particularly from a single source IP.

Mitigation and workarounds

Since AngularJS is End-of-Life, no official patch will be released for this vulnerability. The primary recommended remediation is to migrate away from AngularJS to a supported framework (e.g., Angular). As an interim measure, HeroDevs offers Never-Ending Support (NES) for AngularJS, which provides patched versions for organizations unable to migrate immediately (HeroDevs Advisory). Additionally, developers should avoid passing untrusted user input to the linky filter, or implement server-side input length limits and sanitization to prevent excessively long strings from reaching the vulnerable regex (Red Hat Advisory).

Community reactions

HeroDevs, the CVE assigner, published a detailed blog post and PoC demonstrating the vulnerability and promoted it via their official Twitter/X account (HeroDevs Blog, HeroDevs X). Red Hat acknowledged the vulnerability in their security advisory portal (Red Hat Advisory). Community discussion appeared on Reddit's OSS EOL subreddit, reflecting broader concerns about the risks of continuing to use End-of-Life frameworks (Reddit).

Additional resources

Linux Distribution fix status

Fix availability across major Linux distributions and their releases.

Debian

Affected

bookworm

angular.js

Affected

sid

angular.js

Affected

trixie

angular.js

Affected

Ubuntu

Unknown

bionic (esm-infra)

angular.js

Unknown

devel

angular.js

Unknown

focal (esm-apps)

angular.js

Unknown

jammy

angular.js

Unknown

jammy (esm-apps)

angular.js

Unknown

noble

angular.js

Unknown

noble (esm-apps)

angular.js

Unknown

resolute

angular.js

Unknown

Source: This report was generated using AI

Related Linux Debian vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-89419MEDIUM5.4
  • Linux Debian logoLinux Debian
  • ironic
NoNoOct 23, 2026
CVE-2026-90458MEDIUM4.7
  • Linux Debian logoLinux Debian
  • ironic
NoNoOct 23, 2026
CVE-2026-85559NONEN/A
  • Linux Debian logoLinux Debian
  • pdns-recursor
NoYesOct 23, 2026
CVE-2026-85558NONEN/A
  • Linux Debian logoLinux Debian
  • pdns-recursor
NoYesOct 23, 2026
CVE-2026-85557NONEN/A
  • Linux Debian logoLinux Debian
  • pdns-recursor
NoYesOct 23, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management