[3.12] gh-87451: Apply CVE-2021-4189 PASV fix to ftplib.ftpcp() (GH-149648) by miss-islington · Pull Request #149795 · python/cpython

bedevere-app · GitHub

…nGH-149648

) ftpcp() called parse227() directly and passed the source server's self-reported PASV IPv4 address to the target server's PORT command, bypassing the

CVE-2021-4189

fix that was applied only to FTP.makepasv(). A malicious source FTP server could use this to redirect the target server's data connection to an arbitrary host:port (SSRF). ftpcp() now uses the source server's actual peer address, honoring the existing trust_server_pasv_ipv4_address opt-out, the same as makepasv(). Thanks to Qi Ding at Aurascape AI for the report. (GHSA-w8c5-q2xf-gf7c) (cherry picked from commit

eac4fe3

) Co-authored-by: Gregory P. Smith <[email protected]> This was referenced

May 13, 2026 Closed

Merged

Open