Angular up to 18.2.14/19.2.22/20.3.21/21.2.14 formatNumber digitsInfo resource consumption
| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 5.1 | $0-$5k | 4.04- |
Summary
A vulnerability was found in Angular up to 18.2.14/19.2.22/20.3.21/21.2.14. It has been rated as problematic. Affected by this vulnerability is the function formatNumber. This manipulation of the argument digitsInfo causes resource consumption.
This vulnerability is tracked as CVE-2026-50171. The attack is possible to be carried out remotely. No exploit exists.
Upgrading the affected component is advised.
Details
A vulnerability has been found in Angular up to 18.2.14/19.2.22/20.3.21/21.2.14 and classified as problematic. Affected by this vulnerability is the function formatNumber. The manipulation of the argument digitsInfo with an unknown input leads to a resource consumption vulnerability. The CWE definition for the vulnerability is CWE-400. The product does not properly control the allocation and maintenance of a limited resource, thereby enabling an actor to influence the amount of resources consumed, eventually leading to the exhaustion of available resources. As an impact it is known to affect availability. The summary by CVE is:
Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript and other languages. Prior to 22.0.0-rc.2, 21.2.15, 20.3.22, and 19.2.23, a Denial of Service (DoS) vulnerability exists in the @angular/common package of Angular. The formatNumber function, which is also utilized by DecimalPipe, PercentPipe, and CurrencyPipe, does not properly validate the upper bounds of the digitsInfo parameter. Specifically, the minimum and maximum fraction digits parsed from the digitsInfo string (e.g., 1.2-4) are converted to integers and used without limits. When parsing a maliciously crafted digitsInfo string with excessively large fraction digit values (e.g., 1.200000000-200000000), the internal roundNumber function attempts to pad the digits array to match the requested fraction size. This results in an unbounded loop that repeatedly pushes elements into an array. This vulnerability is fixed in 22.0.0-rc.2, 21.2.15, 20.3.22, and 19.2.23.
The advisory is shared at github.com. This vulnerability is known as CVE-2026-50171 since 06/03/2026. The exploitation appears to be easy. The attack can be launched remotely. The exploitation doesn't need any form of authentication. Technical details are known, but no exploit is available. MITRE ATT&CK project uses the attack technique T1499 for this issue.
Upgrading to version 19.2.23, 20.3.22, 21.2.15 or 22.0.0-rc.2 eliminates this vulnerability.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.
Product
Type
Name
Version
- 18.2.0
- 18.2.1
- 18.2.2
- 18.2.3
- 18.2.4
- 18.2.5
- 18.2.6
- 18.2.7
- 18.2.8
- 18.2.9
- 18.2.10
- 18.2.11
- 18.2.12
- 18.2.13
- 18.2.14
- 19.2.0
- 19.2.1
- 19.2.2
- 19.2.3
- 19.2.4
- 19.2.5
- 19.2.6
- 19.2.7
- 19.2.8
- 19.2.9
- 19.2.10
- 19.2.11
- 19.2.12
- 19.2.13
- 19.2.14
- 19.2.15
- 19.2.16
- 19.2.17
- 19.2.18
- 19.2.19
- 19.2.20
- 19.2.21
- 19.2.22
- 20.3.0
- 20.3.1
- 20.3.2
- 20.3.3
- 20.3.4
- 20.3.5
- 20.3.6
- 20.3.7
- 20.3.8
- 20.3.9
- 20.3.10
- 20.3.11
- 20.3.12
- 20.3.13
- 20.3.14
- 20.3.15
- 20.3.16
- 20.3.17
- 20.3.18
- 20.3.19
- 20.3.20
- 20.3.21
- 21.2.0
- 21.2.1
- 21.2.2
- 21.2.3
- 21.2.4
- 21.2.5
- 21.2.6
- 21.2.7
- 21.2.8
- 21.2.9
- 21.2.10
- 21.2.11
- 21.2.12
- 21.2.13
- 21.2.14
Website
- Product: https://github.com/angular/angular/
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔒VulDB Reliability: 🔍
CNA CVSS-B Score: 🔒
CNA CVSS-BT Score: 🔒
CNA Vector: 🔒
CVSSv3
VulDB Meta Base Score: 5.3VulDB Meta Temp Score: 5.1
VulDB Base Score: 5.3
VulDB Temp Score: 5.1
VulDB Vector: 🔒
VulDB Reliability: 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vector | Complexity | Authentication | Confidentiality | Integrity | Availability |
|---|---|---|---|---|---|
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
VulDB Base Score: 🔒
VulDB Temp Score: 🔒
VulDB Reliability: 🔍
Exploiting
Class: Resource consumptionCWE: CWE-400 / CWE-404
CAPEC: 🔒
ATT&CK: 🔒
Physical: No
Local: No
Remote: Yes
Availability: 🔒
Status: Not defined
Price Prediction: 🔍
Current Price Estimation: 🔒
| 0-Day | Unlock | Unlock | Unlock | Unlock |
|---|---|---|---|---|
| Today | Unlock | Unlock | Unlock | Unlock |
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: UpgradeStatus: 🔍
0-Day Time: 🔒
Upgrade: Angular 19.2.23/20.3.22/21.2.15/22.0.0-rc.2
Timeline
06/03/2026 CVE reserved06/22/2026 Advisory disclosed
06/22/2026 VulDB entry created
06/22/2026 VulDB entry last update
Sources
Product: github.comAdvisory: GHSA-p3vc-36g9-x9gr
Status: Confirmed
CVE: CVE-2026-50171 (🔒)
GCVE (CVE): GCVE-0-2026-50171
GCVE (VulDB): GCVE-100-372757
Entry
Created: 06/22/2026 20:58Changes: 06/22/2026 20:58 (69)
Complete: 🔍
Cache ID: 216::103
If you want to get the best quality for vulnerability data then you always have to consider VulDB.
No comments yet. Languages: en.
Please log in to comment.