CVE-2022-35949

node-undici: undici is an HTTP/1.1 client, written from scratch for Node.js.`undici` is vulnerable to SSRF (Server-side Request Fo...

CVE-2022-35949 is fixed in node-undici on 1 platform, first by DEBIAN-CVE-2022-35949, released August 12, 2022. It is not reported as exploited. Patch Radar priority: Urgent.

Urgent
CVSS
9.8
critical
Exploitation
None reported
No vendor assessment
CISA KEV
Not listed
Not in the Known Exploited Vulnerabilities catalog
EPSS
0.0193
80th percentile

undici is an HTTP/1.1 client, written from scratch for Node.js.`undici` is vulnerable to SSRF (Server-side Request Forgery) when an application takes in **user input** into the `path/pathname` option of `undici.request`. If a user specifies a URL such as `http://127.0.0.1` or `//127.0.0.1` ```js const undici = require("undici") undici.request({origin: "http://example.com", pathname: "//127.0.0.1"}) ``` Instead of processing the request as `http://example.org//127.0.0.1` (or `http://example.org/http://127.0.0.1` when `http://127.0.0.1 is used`), it actually processes the request as `http://127.0.0.1/` and sends it to `http://127.0.0.1`. If a developer passes in user input into `path` parameter of `undici.request`, it can result in an _SSRF_ as they will assume that the hostname cannot change, when in actual fact it can change because the specified path parameter is combined with the base URL. This issue was fixed in `undici@5.8.1`. The best workaround is to validate user input before passing it to the `undici.request` call.

Where it's fixed

ProductFixed inFixReleased
Linux
node-undici · Debian 12.15 (bookworm) 5.8.2+dfsg1+~cs18.9.18.1-1 DEBIAN-CVE-2022-35949 Aug 12, 2022
node-undici · Debian 13.5 (trixie) 5.8.2+dfsg1+~cs18.9.18.1-1 DEBIAN-CVE-2022-35949 Aug 12, 2022
node-undici · Debian 14 5.8.2+dfsg1+~cs18.9.18.1-1 DEBIAN-CVE-2022-35949 Aug 12, 2022

Patch Radar data is free to use with attribution. Terms and how to credit it.

Product names, logos and trademarks shown on Patch Radar belong to their respective owners. They are used only to identify the software each security fix applies to and to help readers find their platform. Their use does not imply any affiliation with, or endorsement by, those owners, and Patchblox is not affiliated with any of them.