@angular/common: Denial of Service (DoS) via OOM in Number Formatting (digitsInfo) (CVE-2026-50171)
A Denial of Service (DoS) vulnerability exists in the @angular/common package affecting the formatNumber function and related pipes (DecimalPipe, PercentPipe, CurrencyPipe). The vulnerability arises from improper validation of the digitsInfo parameter, allowing an attacker to specify excessively large fraction digit values. This causes an unbounded loop that exhausts memory or blocks the main thread. Exploitation can crash Node.js servers using server-side rendering or freeze client browsers in client-side rendering. The vulnerability affects versions up to and including 18.2.14 and is patched in later releases.
AI Analysis
Technical Summary
The @angular/common package's formatNumber function and associated pipes do not properly validate the upper bounds of the digitsInfo parameter. When a maliciously crafted digitsInfo string with very large fraction digit values is processed, the internal roundNumber function enters an unbounded loop, repeatedly pushing elements into an array. This leads to resource exhaustion causing Denial of Service. Server-side rendering environments can experience Node.js process crashes due to heap out of memory errors, while client-side applications may freeze the browser tab. Exploitation requires attacker control over the digitsInfo parameter passed to these formatting utilities. The vulnerability is fixed in versions 19.2.23, 20.3.22, 21.2.15, and 22.0.0-rc.2.
Potential Impact
Successful exploitation results in Denial of Service by exhausting memory or CPU resources. In server-side rendering scenarios, this can crash the Node.js server process, causing application downtime. In client-side rendering, it can freeze the user's browser tab, making the application unresponsive. The impact affects availability but does not indicate data confidentiality or integrity compromise.
Mitigation Recommendations
This vulnerability is patched in @angular/common versions 19.2.23, 20.3.22, 21.2.15, and 22.0.0-rc.2. Users should upgrade to one of these or later versions to remediate the issue. Additionally, ensure that the digitsInfo parameter is not controllable by untrusted user input or is strictly validated to prevent excessively large fraction digit values. If digitsInfo is trusted or constrained, the vulnerability is not exploitable.
@angular/common: Denial of Service (DoS) via OOM in Number Formatting (digitsInfo) (CVE-2026-50171)
Description
A Denial of Service (DoS) vulnerability exists in the @angular/common package affecting the formatNumber function and related pipes (DecimalPipe, PercentPipe, CurrencyPipe). The vulnerability arises from improper validation of the digitsInfo parameter, allowing an attacker to specify excessively large fraction digit values. This causes an unbounded loop that exhausts memory or blocks the main thread. Exploitation can crash Node.js servers using server-side rendering or freeze client browsers in client-side rendering. The vulnerability affects versions up to and including 18.2.14 and is patched in later releases.
CVSS v4.0
Affected software
Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The @angular/common package's formatNumber function and associated pipes do not properly validate the upper bounds of the digitsInfo parameter. When a maliciously crafted digitsInfo string with very large fraction digit values is processed, the internal roundNumber function enters an unbounded loop, repeatedly pushing elements into an array. This leads to resource exhaustion causing Denial of Service. Server-side rendering environments can experience Node.js process crashes due to heap out of memory errors, while client-side applications may freeze the browser tab. Exploitation requires attacker control over the digitsInfo parameter passed to these formatting utilities. The vulnerability is fixed in versions 19.2.23, 20.3.22, 21.2.15, and 22.0.0-rc.2.
Potential Impact
Successful exploitation results in Denial of Service by exhausting memory or CPU resources. In server-side rendering scenarios, this can crash the Node.js server process, causing application downtime. In client-side rendering, it can freeze the user's browser tab, making the application unresponsive. The impact affects availability but does not indicate data confidentiality or integrity compromise.
Mitigation Recommendations
This vulnerability is patched in @angular/common versions 19.2.23, 20.3.22, 21.2.15, and 22.0.0-rc.2. Users should upgrade to one of these or later versions to remediate the issue. Additionally, ensure that the digitsInfo parameter is not controllable by untrusted user input or is strictly validated to prevent excessively large fraction digit values. If digitsInfo is trusted or constrained, the vulnerability is not exploitable.
Technical Details
- Gcve Source
- db.gcve.eu
- Osv Id
- GHSA-p3vc-36g9-x9gr
- Osv Schema Version
- 1.4.0
- Aliases
- ["CVE-2026-50171"]
- Ecosystems
- ["npm"]
- Database Specific Severity
- HIGH
- Cvss Version
- 4.0
Threat ID: 6a58b41068715ace43d67d52
Added to database: 07/16/2026, 10:36:00 UTC
Last enriched: 07/16/2026, 10:52:30 UTC
Last updated: 07/31/2026, 19:22:59 UTC
Views: 2
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.