Medium severity · published May 13, 2026
CVE-2026-8328
FTP PASV SSRF, ftpcp() does not use actual peer address, trusts server-supplied PASV host address
5.9
CVSS
0.5%
EPSS
No
On KEV
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.
Exploitation
Is it being used?
Exploit prediction (EPSS)0.5% · higher than 40% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
CP
CPython · Python Software Foundation
before 3.10.21; 3.11.0 before 3.11.16; 3.12.0 before 3.12.14; 3.13.0 before 3.13.14; 3.14.0 before 3.14.6; 3.15.0a1 before 3.15.0b2 · source: vendor