CVE-2022-25844: Angular - Regular Expression Denial of Service (ReDoS)
Summary
CVE-2022-25844: angular vulnerable to regular expression denial of service (ReDoS). Affects angular versions >= 1.7.0. No fix is published. How to fix ↓
Also tracked for
- angular.js · Debian:11
The same CVE-2022-25844 is tracked separately for each ecosystem and vendor. Its fix information is the same; the package and affected versions differ.
Check if this vulnerability affects your application
Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.
No signup required · Results in about 60 seconds
Background
AngularJS is a popular open-source JavaScript framework used for building client-side web applications. It provides developers with a range of features and tools to create dynamic and interactive web pages. However, versions of AngularJS after 1.7.0 are vulnerable to a Regular Expression Denial of Service (ReDoS) attack. This vulnerability can be exploited by providing a custom locale rule that assigns a very high value to the parameter 'posPre' in the 'NUMBER_FORMATS.PATTERNS[1].posPre' property.
Vulnerability Detail
The vulnerability in AngularJS allows an attacker to perform a ReDoS attack by manipulating the 'posPre' parameter. By assigning a very high value to this parameter, the application can be forced into an infinite loop, causing a denial of service. This can lead to a significant impact on the availability and performance of the affected application. It is important to note that the vulnerable versions are 1.7.0 and higher, and the package has been deprecated and is no longer maintained.
How To Fix
No fixed version is published for this vulnerability.
Tip — Not sure whether your app is affected? Vulert can check the versions your app actually runs. Scan free →
Workaround
As the package is no longer maintained, there is no official workaround provided. However, if migrating to a different framework is not feasible, you can consider implementing input validation and sanitization techniques to mitigate the risk of ReDoS attacks. Additionally, monitoring and rate-limiting user inputs can help detect and prevent potential attacks.
Conclusion
In conclusion, AngularJS versions after 1.7.0 are vulnerable to a Regular Expression Denial of Service (ReDoS) attack. This can be mitigated by migrating to a different and actively maintained JavaScript framework or by implementing input validation and sanitization techniques. It is important to stay updated with the latest security patches and updates to protect your application from potential vulnerabilities. For further support on vulnerability remediation, you can reach out to DevNack.com.
See every vulnerability recorded for angular →
FAQ
AngularJS is an open-source JavaScript framework used for building client-side web applications. It provides developers with a range of features and tools to create dynamic and interactive web pages.
A Regular Expression Denial of Service (ReDoS) attack is a type of denial of service attack that exploits the way certain regular expressions are processed. By providing a malicious input that triggers a regular expression with exponential time complexity, an attacker can cause the application to enter an infinite loop, consuming excessive CPU resources and leading to a denial of service.
The vulnerability in AngularJS can lead to a denial of service, impacting the availability and performance of the affected application. By exploiting the vulnerability, an attacker can force the application into an infinite loop, consuming excessive CPU resources and causing the application to become unresponsive.
Versions of AngularJS after 1.7.0 are vulnerable to this Regular Expression Denial of Service (ReDoS) attack.
Since the package has been deprecated and is no longer maintained, it is recommended to migrate to a different and actively maintained JavaScript framework. This will ensure that you have access to the latest security patches and updates.
Related vulnerabilities
Recent vulnerabilities recorded for angular.