CPython fixed a medium-severity Server-Side Request Forgery issue in Lib/ftplib.py tracked as CVE-2026-8328, after maintainers found that ftplib.ftpcp() still trusted a source FTP server’s self-reported PASV IPv4 address. The flaw persisted because ftpcp() had not been updated during the earlier CVE-2021-4189 remediation and continued to call parse227() directly, allowing an attacker-controlled FTP server to influence the host and port used for the target server’s data connection.
The patch changes ftpcp() to use the source server’s actual peer address and to honor the existing trust_server_pasv_ipv4_address opt-out, bringing its behavior in line with FTP.makepasv(). Python linked the issue to advisory GHSA-w8c5-q2xf-gf7c; the fix was merged into the main branch and backported to multiple maintained releases after disclosure on Python’s security-announce list and redistribution through the oss-security mailing list.

Mallory correlates global threat intelligence with your attack surface — know if you’re exposed before adversaries strike.
3 events from the most recent confirmed update back to the earliest known activity.
Python disclosed CVE-2026-8328 as a medium-severity vulnerability affecting CPython's FTP passive mode handling in Lib/ftplib.py. The advisory explained that ftpcp() had bypassed the earlier CVE-2021-4189 PASV fix by directly calling parse227(), enabling SSRF via attacker-controlled PASV responses.
Python merged a patch on the main branch to make ftpcp() use the source server's actual peer address instead of trusting the server-supplied PASV IPv4 address, aligning behavior with FTP.makepasv(). The fix also preserved the existing trust_server_pasv_ipv4_address opt-out and was backported to multiple maintained branches.
Qi Ding (also identified as ikow, later attributed as being at Aurascape AI) reported a security issue in CPython's ftplib.ftpcp() function. The bug allowed a malicious source FTP server to supply a PASV host and port that could redirect a target server's data connection, creating an SSRF condition.
Vulnerabilities, threat actors, malware, products, organizations, and breaches Mallory has linked to this story.
2 references tracked. Mallory keeps watching after this page renders.
seclists.org
Open sourcegithub.com
Open sourceMap indicators from this story to your assets and identify affected systems in minutes.
Every observed campaign, victim, and pivot linked to actors named in this story.
Malware, exploits, and IOCs connected to the activity described here.
YARA, Sigma, and Snort rules deployed to your SIEM as soon as they’re published.
Get matching new stories delivered to your team as they break — not the next morning.
Ask questions about this story and take action on the answers.