Skip to content

Server-Side Request Forgery in ftp-srv

High severity GitHub Reviewed Published Sep 4, 2020 to the GitHub Advisory Database • Updated Jan 8, 2024

Package

npm ftp-srv (npm)

Affected versions

>= 1.0.0, < 2.19.6
>= 3.0.0, < 3.1.2
>= 4.0.0, < 4.3.4

Patched versions

2.19.6
3.1.2
4.3.4

Description

All versions of ftp-srv from v1.0.0 onward to v4.3.3 are vulnerable to Server-Side Request Forgery (SSRF). The package fails to prevent remote clients to access other resources in the network, for example when connecting to the server through telnet. This allows attackers to access any network resources available to the server, including private resources in the hosting environment.

Recommendation

Upgrade to patched versions
^2.19.6, ^3.1.2, ^4.3.4

Workarounds

Blacklisting the FTP Command PORT will prevent the server from exposing this behaviour through active connections until a fix is applied.

const ftp = new FtpSrv({
  blacklist: ['PORT']
});

References

Reviewed Aug 31, 2020
Published to the GitHub Advisory Database Sep 4, 2020
Last updated Jan 8, 2024

Severity

High

Weaknesses

CVE ID

No known CVE

GHSA ID

GHSA-r4m5-47cq-6qg8

Source code

Credits

Checking history
See something to contribute? Suggest improvements for this vulnerability.