Home

Description

The ftpcp() function in Lib/ftplib.py was not updated when CVE-2021-4189 was fixed. While makepasv() was patched to replace server-supplied PASV host addresses with the actual peer address (getpeername()[0]), ftpcp() still calls parse227() directly and passes the raw attacker-controllable IP address and port to target.sendport(). This patch is related to CVE-2021-4189.

PUBLISHED Reserved 2026-05-11 | Published 2026-05-13 | Updated 2026-05-14 | Assigner PSF




MEDIUM: 5.9CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N

Problem types

CWE-918 Server-Side request forgery (SSRF)

Product status

Default status
unaffected

Any version before 3.15.0
affected

Credits

Qi Deng (https://github.com/ikow) reporter

Bénédikt Tran (https://github.com/picnixz) remediation developer

Gregory P. Smith (https://github.com/gpshead) remediation developer

References

github.com/python/cpython/issues/87451 issue-tracking

github.com/python/cpython/pull/149648 patch

mail.python.org/.../thread/ITF2BAPBQEPYK3LDMPRSY435JGNHYNDP/ vendor-advisory

cve.org (CVE-2026-8328)

nvd.nist.gov (CVE-2026-8328)

Download JSON