Files
CVEs-PoC/2017/CVE-2017-16021.md
T
2025-09-29 21:09:30 +02:00

21 lines
1.2 KiB
Markdown

### [CVE-2017-16021](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-16021)
![](https://img.shields.io/static/v1?label=Product&message=uri-js%20node%20module&color=blue)
![](https://img.shields.io/static/v1?label=Version&message=%3C%3D2.1.1%20&color=brightgreen)
![](https://img.shields.io/static/v1?label=Vulnerability&message=Denial%20of%20Service%20(CWE-400)&color=brightgreen)
### Description
uri-js is a module that tries to fully implement RFC 3986. One of these features is validating whether or not a supplied URL is valid or not. To do this, uri-js uses a regular expression, This regular expression is vulnerable to redos. This causes the program to hang and the CPU to idle at 100% usage while uri-js is trying to validate if the supplied URL is valid or not. To check if you're vulnerable, look for a call to `require("uri-js").parse()` where a user is able to send their own input. This affects uri-js 2.1.1 and earlier.
### POC
#### Reference
No PoCs from references.
#### Github
- https://github.com/ARPSyndicate/cvemon
- https://github.com/Banyaon/And-ifclcs-
- https://github.com/Banyaon/supreme-robot
- https://github.com/Banyaon/vigilant-fiesta