Loading HuntDB...

GHSA-8qr4-xgw6-wmr3

GitHub Security Advisory

`undici.request` vulnerable to SSRF using absolute URL on `pathname`

✓ GitHub Reviewed MODERATE Has CVE

Advisory Details

### Impact

`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.

### Patches

This issue was fixed in `[email protected]`.

### Workarounds

The best workaround is to validate user input before passing it to the `undici.request` call.

## For more information
If you have any questions or comments about this advisory:

- Open an issue in [undici repository](https://github.com/nodejs/undici/issues)
- To make a report, follow the [SECURITY](https://github.com/nodejs/node/blob/HEAD/SECURITY.md) document

Affected Packages

npm undici
Affected versions: 0 (fixed in 5.8.2)

Related CVEs

Key Information

GHSA ID
GHSA-8qr4-xgw6-wmr3
Published
August 18, 2022 6:59 PM
Last Modified
January 18, 2023 9:52 PM
CVSS Score
5.0 /10
Primary Ecosystem
npm
Primary Package
undici
GitHub Reviewed
✓ Yes

Dataset

Last updated: July 6, 2025 6:30 AM

Data from GitHub Advisory Database. This information is provided for research and educational purposes.