VDB
KO
HIGH

GHSA-5846-7qm3-r52j

dssrf: any users using 1.1.1.1 DNS is impacted by SSRF

Quick fix

GHSA-5846-7qm3-r52j — dssrf: upgrade to the fixed version with the command below.

npm install dssrf@1.0.5

Details

## Summary

is_url_safe can treat localhost as safe when DNS resolver 1.1.1.1 returns NXDOMAIN because dns.resolve4 yields no address and no dns.lookup fallback occurs, allowing server-side request forgery.

## POC

Example to simulate 1.1.1.1 in version before 1.5.0 of dssrf:

```js import { is_url_safe } from '../dist/helpers.js'; import dns from 'dns';

dns.setServers(['1.1.1.1']);

const TARGET = 'http://localhost/admin';

console.log(`Testing: ${TARGET}`); console.log(`Current DNS Servers: ${dns.getServers()}`);

const result = await is_url_safe(TARGET);

if (result === true) { console.log('dssrf treated localhost as SAFE because 1.1.1.1 returned NXDOMAIN.'); } else { console.log('dssrf blocked localhost.'); } ```

Are you affected?

Enter the version of the package you're using.

Affected packages

npm / dssrf
Introduced in: 0 Fixed in: 1.0.5
Fix npm install dssrf@1.0.5

References