{ "dataType": "CVE_RECORD", "dataVersion": "5.2", "cveMetadata": { "cveId": "CVE-2026-8328", "assignerOrgId": "28c92f92-d60d-412d-b760-e73465c3df22", "state": "PUBLISHED", "assignerShortName": "PSF", "dateReserved": "2026-05-11T15:06:00.859Z", "datePublished": "2026-05-13T20:14:33.751Z", "dateUpdated": "2026-06-30T15:09:29.230Z" }, "containers": { "cna": { "affected": [ { "defaultStatus": "unaffected", "modules": [ "ftplib" ], "product": "CPython", "repo": "https://github.com/python/cpython", "vendor": "Python Software Foundation", "versions": [ { "version": "0", "lessThan": "3.13.14", "status": "affected", "versionType": "python" }, { "version": "3.14.0", "lessThan": "3.14.6", "status": "affected", "versionType": "python" }, { "version": "3.15.0a1", "lessThan": "3.15.0b2", "status": "affected", "versionType": "python" } ] } ], "credits": [ { "lang": "en", "type": "reporter", "value": "Qi Deng (https://github.com/ikow)" }, { "lang": "en", "type": "remediation developer", "value": "Bénédikt Tran (https://github.com/picnixz)" }, { "lang": "en", "type": "remediation developer", "value": "Gregory P. Smith (https://github.com/gpshead)" } ], "descriptions": [ { "lang": "en", "supportingMedia": [ { "type": "text/html", "value": "
The ftpcp() function in Lib/ftplib.py was not updated when \nCVE-2021-4189 was fixed. While makepasv() was patched to replace \nserver-supplied PASV host addresses with the actual peer address \n(getpeername()[0]), ftpcp() still calls parse227() directly and passes \nthe raw attacker-controllable IP address and port to target.sendport(). This patch is related to CVE-2021-4189.
" } ], "value": "The ftpcp() function in Lib/ftplib.py was not updated when \nCVE-2021-4189 was fixed. While makepasv() was patched to replace \nserver-supplied PASV host addresses with the actual peer address \n(getpeername()[0]), ftpcp() still calls parse227() directly and passes \nthe raw attacker-controllable IP address and port to target.sendport(). This patch is related to CVE-2021-4189." } ], "metrics": [ { "cvssV4_0": { "Automatable": "NOT_DEFINED", "Recovery": "NOT_DEFINED", "Safety": "NOT_DEFINED", "attackComplexity": "LOW", "attackRequirements": "PRESENT", "attackVector": "NETWORK", "baseScore": 5.9, "baseSeverity": "MEDIUM", "exploitMaturity": "NOT_DEFINED", "privilegesRequired": "NONE", "providerUrgency": "NOT_DEFINED", "subAvailabilityImpact": "NONE", "subConfidentialityImpact": "NONE", "subIntegrityImpact": "NONE", "userInteraction": "ACTIVE", "valueDensity": "NOT_DEFINED", "vectorString": "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", "version": "4.0", "vulnAvailabilityImpact": "NONE", "vulnConfidentialityImpact": "NONE", "vulnIntegrityImpact": "HIGH", "vulnerabilityResponseEffort": "NOT_DEFINED" }, "format": "CVSS", "scenarios": [ { "lang": "en", "value": "GENERAL" } ] } ], "problemTypes": [ { "descriptions": [ { "cweId": "CWE-918", "description": "CWE-918 Server-Side request forgery (SSRF)", "lang": "en", "type": "CWE" } ] } ], "providerMetadata": { "orgId": "28c92f92-d60d-412d-b760-e73465c3df22", "shortName": "PSF", "dateUpdated": "2026-06-30T15:09:29.230Z" }, "references": [ { "tags": [ "issue-tracking" ], "url": "https://github.com/python/cpython/issues/87451" }, { "tags": [ "patch" ], "url": "https://github.com/python/cpython/pull/149648" }, { "tags": [ "vendor-advisory" ], "url": "https://mail.python.org/archives/list/security-announce@python.org/thread/ITF2BAPBQEPYK3LDMPRSY435JGNHYNDP/" }, { "tags": [ "patch" ], "url": "https://github.com/python/cpython/commit/5dadc64673ce875ebfb24163907777dae0f6ca06" }, { "tags": [ "patch" ], "url": "https://github.com/python/cpython/commit/7d95a1dc7382b55cba7fdd6a110336077584a4f0" }, { "tags": [ "patch" ], "url": "https://github.com/python/cpython/commit/bb3446dda6c49b32e67c11dbbbf221b40be00763" }, { "tags": [ "patch" ], "url": "https://github.com/python/cpython/commit/c88704431ea3248ca769384c13856330976fac1d" }, { "tags": [ "patch" ], "url": "https://github.com/python/cpython/commit/eac4fe3b2c77693790a5ef7dfab127c1fee81bf9" }, { "tags": [ "patch" ], "url": "https://github.com/python/cpython/commit/2bbcf3fb7a420a05605576c0f9468d4675381b5f" }, { "tags": [ "patch" ], "url": "https://github.com/python/cpython/commit/ef12d0dc824baccf737bba1458e5eed3d1e0fceb" } ], "source": { "discovery": "UNKNOWN" }, "title": "FTP PASV SSRF, ftpcp() does not use actual peer address, trusts server-supplied PASV host address", "x_generator": { "engine": "cvelib 1.8.0" } }, "adp": [ { "metrics": [ { "other": { "type": "ssvc", "content": { "timestamp": "2026-05-14T12:49:18.311219Z", "id": "CVE-2026-8328", "options": [ { "Exploitation": "none" }, { "Automatable": "no" }, { "Technical Impact": "partial" } ], "role": "CISA Coordinator", "version": "2.0.3" } } } ], "title": "CISA ADP Vulnrichment", "providerMetadata": { "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "shortName": "CISA-ADP", "dateUpdated": "2026-05-14T12:49:39.908Z" } } ] } }