CVE-2026-8328
FTP PASV SSRF, ftpcp() does not use actual peer address, trusts server-supplied PASV host address
- State
- Published
- Severity
- 5.9 Medium
- Published
- May 13, 2026
- Updated
- Aug 13, 2026
- Reserved
- May 11, 2026
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.
Scores
| CVSS | Score | Vector | Source |
|---|---|---|---|
| 4.0 | 5.9 Medium | 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 | PSF |
Weaknesses
- CWE-918 Server-Side request forgery (SSRF)
Affected Products
| Product | Versions |
|---|---|
CPythonPython Software Foundation |
|
References
- https://github.com/python/cpython/issues/87451issue-tracking
- https://github.com/python/cpython/pull/149648patch
- https://mail.python.org/archives/list/security-announce@python.org/thread/ITF2BAPBQEPYK3LDMPRSY435JGNHYNDP/vendor-advisory
- https://github.com/python/cpython/commit/5dadc64673ce875ebfb24163907777dae0f6ca06patch
- https://github.com/python/cpython/commit/7d95a1dc7382b55cba7fdd6a110336077584a4f0patch
- https://github.com/python/cpython/commit/bb3446dda6c49b32e67c11dbbbf221b40be00763patch
- https://github.com/python/cpython/commit/c88704431ea3248ca769384c13856330976fac1dpatch
- https://github.com/python/cpython/commit/eac4fe3b2c77693790a5ef7dfab127c1fee81bf9patch
- https://github.com/python/cpython/commit/2bbcf3fb7a420a05605576c0f9468d4675381b5fpatch
- https://github.com/python/cpython/commit/ef12d0dc824baccf737bba1458e5eed3d1e0fcebpatch
Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.