CVE-2026-8328
MEDIUMFTP PASV SSRF, ftpcp() does not use actual peer address, trusts server-supplied PASV host address
Title source: cnaDescription
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.
References (8)
Core 8
Core References
Issue Tracking issue-tracking
https://github.com/python/cpython/issues/87451
Patch patch
https://github.com/python/cpython/pull/149648
Vendor Advisory vendor-advisory
https://mail.python.org/archives/list/[email protected]/thread/ITF2BAPBQEPYK3LDMPRSY435JGNHYNDP/
Scores
CVSS v4
5.9
EPSS
0.0040
EPSS Percentile
31.7%
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
CISA SSVC
Vulnrichment
Exploitation
none
Automatable
no
Technical Impact
partial
Details
CWE
CWE-918
Status
published
Products (4)
Python Software Foundation/CPython
< 3.13.14
Python Software Foundation/CPython
< 3.15.0
Python Software Foundation/CPython
3.14.0 - 3.14.6
Python Software Foundation/CPython
3.15.0a1 - 3.15.0b2
Published
May 13, 2026
Tracked Since
May 14, 2026