CVE-2021-4189
A flaw was found in Python, specifically in the FTP (File Transfer Protocol) client library in PASV (passive) mode. The issue is how the FTP client trusts the host from the PASV response by default.
02 Description
A flaw was found in Python, specifically in the FTP (File Transfer Protocol) client library in PASV (passive) mode. The issue is how the FTP client trusts the host from the PASV response by default.
03 Exploitation and scoring
- Exploitation
- Assessed, none found. CISA's assessment recorded neither public exploit code nor evidence of exploitation when it was made.
- SSVC decision
- ExploitationnoneCISA recorded no public exploit code and no evidence of exploitation.
- AutomatableyesAn attacker can reliably automate reconnaissance through exploitation, so this scales.
- Technical ImpactpartialSuccessful exploitation gives limited control of the vulnerable component.
- EPSS probability
- 3.40% probability of exploitation activity in the next 30 days.
- EPSS percentile
- Equal to or higher than the score of 88.7% of scored records. A rank, not a probability.
- NVD base score
- 5.3 (CVSS v3.x), scored by the NVD independently of the CNA.
- NVD CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
- NVD analysis status
- Modified. NVD last modified this record on 2026-10-14.
- Red Hat severity
- Moderate. Red Hat's rating for its own products, not a CVSS rating.
Exploit-prediction scores from FIRST. Independent scoring and analysis status from the NVD. Vendor severity from Red Hat. Exploitation assessment and catalog membership from CISA.
04 Metadata
- Published
- 2022-08-24 00:00Z4 YR AGO
- Last updated
- 2026-10-14 10:04Z15 DAYS AGO
- Reserved
- 2021-12-29
- Assigning CNA
- redhat
- Record state
- PUBLISHED
- Severity
- Medium (CVSS 5.3)
- CNA CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
- Weaknesses
- CWE-252Unchecked Return ValueBase
- Data version
- 5.2
- Document digest
- 38b4185da7fb14682e51733491b323311f511557bdff5ddb0696bfd895305af7
05 Affected products
06 References
- bugs.python.orghttps://bugs.python.org/issue43285
- python-security.readthedocs.iohttps://python-security.readthedocs.io/vuln/ftplib-pasv.html
- github.comhttps://github.com/python/cpython/commit/0ab152c6b5d95caa2dc1a30fa96e10258b5f188e
- security-tracker.debian.orghttps://security-tracker.debian.org/tracker/CVE-2021-4189
- bugzilla.redhat.comhttps://bugzilla.redhat.com/show_bug.cgi?id=2036020
- access.redhat.comhttps://access.redhat.com/security/cve/CVE-2021-4189
- security.netapp.comhttps://security.netapp.com/advisory/ntap-20221104-0004/
- lists.debian.org[debian-lts-announce] 20230524 [SECURITY] [DLA 3432-1] python2.7 security updatehttps://lists.debian.org/debian-lts-announce/2023/05/msg00024.html
- lists.debian.org[debian-lts-announce] 20230630 [SECURITY] [DLA 3477-1] python3.7 security updatehttps://lists.debian.org/debian-lts-announce/2023/06/msg00039.html
- lists.debian.orghttps://lists.debian.org/debian-lts-announce/2024/12/msg00000.html
- cert-portal.siemens.comhttps://cert-portal.siemens.com/productcert/html/ssa-398330.html
07 Fixed in
AlmaLinux 8
- babel Fixed in 2.5.1-10.module_el8.6.0+2781+fed64c13
- platform-python Fixed in 3.6.8-45.el8.alma
- platform-python-debug Fixed in 3.6.8-45.el8.alma
- platform-python-devel Fixed in 3.6.8-45.el8.alma
- python-nose-docs Fixed
A version is affected if any line below covers it.
- Affected before 1.3.7-31.module_el8.5.0+2569+5c5719bc
- Affected before 1.3.7-31.module_el8.6.0+2781+fed64c13
- python-psycopg2-doc Fixed in 2.7.5-7.module_el8.6.0+2781+fed64c13
- python-sqlalchemy-doc Fixed
A version is affected if any line below covers it.
- Affected before 1.3.2-2.module_el8.5.0+2569+5c5719bc
- Affected before 1.3.2-2.module_el8.6.0+2781+fed64c13
- python2 Fixed in 2.7.18-10.module_el8.6.0+2781+fed64c13.alma
- python2-Cython Fixed in 0.28.1-7.module_el8.6.0+2781+fed64c13
- python2-PyMySQL Fixed in 0.8.0-10.module_el8.6.0+2781+fed64c13
- python2-attrs Fixed in 17.4.0-10.module_el8.6.0+2781+fed64c13
- python2-babel Fixed in 2.5.1-10.module_el8.6.0+2781+fed64c13
- python2-backports Fixed in 1.0-16.module_el8.6.0+2781+fed64c13
- python2-backports-ssl_match_hostname Fixed in 3.5.0.1-12.module_el8.6.0+2781+fed64c13
- python2-bson Fixed in 3.7.0-1.module_el8.6.0+2781+fed64c13
- python2-chardet Fixed in 3.0.4-10.module_el8.6.0+2781+fed64c13
- python2-coverage Fixed in 4.5.1-4.module_el8.6.0+2781+fed64c13
- python2-debug Fixed in 2.7.18-10.module_el8.6.0+2781+fed64c13.alma
- python2-devel Fixed in 2.7.18-10.module_el8.6.0+2781+fed64c13.alma
- python2-dns Fixed in 1.15.0-10.module_el8.6.0+2781+fed64c13
- python2-docs Fixed in 2.7.16-2.module_el8.6.0+2781+fed64c13
- python2-docs-info Fixed in 2.7.16-2.module_el8.6.0+2781+fed64c13
- python2-docutils Fixed in 0.14-12.module_el8.6.0+2781+fed64c13
- python2-funcsigs Fixed in 1.0.2-13.module_el8.6.0+2781+fed64c13
- python2-idna Fixed in 2.5-7.module_el8.6.0+2781+fed64c13
- python2-ipaddress Fixed in 1.0.18-6.module_el8.6.0+2781+fed64c13
- python2-jinja2 Fixed in 2.10-9.module_el8.6.0+2781+fed64c13
- python2-libs Fixed in 2.7.18-10.module_el8.6.0+2781+fed64c13.alma
- python2-lxml Fixed in 4.2.3-6.module_el8.6.0+2781+fed64c13
- python2-markupsafe Fixed in 0.23-19.module_el8.6.0+2781+fed64c13
- python2-mock Fixed in 2.0.0-13.module_el8.6.0+2781+fed64c13
- python2-nose Fixed in 1.3.7-31.module_el8.6.0+2781+fed64c13
- python2-numpy Fixed in 1:1.14.2-16.module_el8.6.0+2781+fed64c13
- python2-numpy-doc Fixed in 1:1.14.2-16.module_el8.6.0+2781+fed64c13
- python2-numpy-f2py Fixed in 1:1.14.2-16.module_el8.6.0+2781+fed64c13
- python2-pip Fixed in 9.0.3-19.module_el8.6.0+2781+fed64c13
- python2-pip-wheel Fixed in 9.0.3-19.module_el8.6.0+2781+fed64c13
- python2-pluggy Fixed in 0.6.0-8.module_el8.6.0+2781+fed64c13
- python2-psycopg2 Fixed in 2.7.5-7.module_el8.6.0+2781+fed64c13
- python2-psycopg2-debug Fixed in 2.7.5-7.module_el8.6.0+2781+fed64c13
29 further packages in AlmaLinux 8 not shown (first 40 listed).
Source: AlmaLinux, AlmaLinux OS. Copyright (c) 2023 AlmaLinux OS. Licensed under MIT License. Received through OSV.dev. Reformatted by exploit.cc.
CloudLinux 8
- babel Fixed in 2.5.1-10.module_el8.6.0+2781+fed64c13
- platform-python Fixed in 3.6.8-45.el8.alma
- platform-python-debug Fixed in 3.6.8-45.el8.alma
- platform-python-devel Fixed in 3.6.8-45.el8.alma
- python-nose-docs Fixed
A version is affected if any line below covers it.
- Affected before 1.3.7-31.module_el8.5.0+2569+5c5719bc
- Affected before 1.3.7-31.module_el8.6.0+2781+fed64c13
- python-psycopg2-doc Fixed in 2.7.5-7.module_el8.6.0+2781+fed64c13
- python-sqlalchemy-doc Fixed
A version is affected if any line below covers it.
- Affected before 1.3.2-2.module_el8.5.0+2569+5c5719bc
- Affected before 1.3.2-2.module_el8.6.0+2781+fed64c13
- python2 Fixed in 2.7.18-10.module_el8.6.0+2781+fed64c13.alma
- python2-Cython Fixed in 0.28.1-7.module_el8.6.0+2781+fed64c13
- python2-PyMySQL Fixed in 0.8.0-10.module_el8.6.0+2781+fed64c13
- python2-attrs Fixed in 17.4.0-10.module_el8.6.0+2781+fed64c13
- python2-babel Fixed in 2.5.1-10.module_el8.6.0+2781+fed64c13
- python2-backports Fixed in 1.0-16.module_el8.6.0+2781+fed64c13
- python2-backports-ssl_match_hostname Fixed in 3.5.0.1-12.module_el8.6.0+2781+fed64c13
- python2-bson Fixed in 3.7.0-1.module_el8.6.0+2781+fed64c13
- python2-chardet Fixed in 3.0.4-10.module_el8.6.0+2781+fed64c13
- python2-coverage Fixed in 4.5.1-4.module_el8.6.0+2781+fed64c13
- python2-debug Fixed in 2.7.18-10.module_el8.6.0+2781+fed64c13.alma
- python2-devel Fixed in 2.7.18-10.module_el8.6.0+2781+fed64c13.alma
- python2-dns Fixed in 1.15.0-10.module_el8.6.0+2781+fed64c13
- python2-docs Fixed in 2.7.16-2.module_el8.6.0+2781+fed64c13
- python2-docs-info Fixed in 2.7.16-2.module_el8.6.0+2781+fed64c13
- python2-docutils Fixed in 0.14-12.module_el8.6.0+2781+fed64c13
- python2-funcsigs Fixed in 1.0.2-13.module_el8.6.0+2781+fed64c13
- python2-idna Fixed in 2.5-7.module_el8.6.0+2781+fed64c13
- python2-ipaddress Fixed in 1.0.18-6.module_el8.6.0+2781+fed64c13
- python2-jinja2 Fixed in 2.10-9.module_el8.6.0+2781+fed64c13
- python2-libs Fixed in 2.7.18-10.module_el8.6.0+2781+fed64c13.alma
- python2-lxml Fixed in 4.2.3-6.module_el8.6.0+2781+fed64c13
- python2-markupsafe Fixed in 0.23-19.module_el8.6.0+2781+fed64c13
- python2-mock Fixed in 2.0.0-13.module_el8.6.0+2781+fed64c13
- python2-nose Fixed in 1.3.7-31.module_el8.6.0+2781+fed64c13
- python2-numpy Fixed in 1:1.14.2-16.module_el8.6.0+2781+fed64c13
- python2-numpy-doc Fixed in 1:1.14.2-16.module_el8.6.0+2781+fed64c13
- python2-numpy-f2py Fixed in 1:1.14.2-16.module_el8.6.0+2781+fed64c13
- python2-pip Fixed in 9.0.3-19.module_el8.6.0+2781+fed64c13
- python2-pip-wheel Fixed in 9.0.3-19.module_el8.6.0+2781+fed64c13
- python2-pluggy Fixed in 0.6.0-8.module_el8.6.0+2781+fed64c13
- python2-psycopg2 Fixed in 2.7.5-7.module_el8.6.0+2781+fed64c13
- python2-psycopg2-debug Fixed in 2.7.5-7.module_el8.6.0+2781+fed64c13
29 further packages in CloudLinux 8 not shown (first 40 listed).
Derived from AlmaLinux 8. Partial coverage: only packages taken from AlmaLinux 8 are listed.
Source: CloudLinux errata, CloudLinux Inc. Derived from: AlmaLinux, AlmaLinux OS. Copyright (c) 2023 AlmaLinux OS. Licensed under MIT License. Received through OSV.dev. Reformatted by exploit.cc.
Debian 12
- pypy3 Fixed in 7.3.5+dfsg-2
Source: Debian Security Tracker, the Debian security team. Received through OSV.dev. Reformatted by exploit.cc.
Debian 13
- pypy3 Fixed in 7.3.5+dfsg-2
Source: Debian Security Tracker, the Debian security team. Received through OSV.dev. Reformatted by exploit.cc.
Debian 14
- pypy3 Fixed in 7.3.5+dfsg-2
Source: Debian Security Tracker, the Debian security team. Received through OSV.dev. Reformatted by exploit.cc.
Ubuntu 18.04 LTS
- python2.7 Fixed in 2.7.17-1~18.04ubuntu1.7
- python3.6 Fixed in 3.6.9-1~18.04ubuntu1.7
Source: Ubuntu, Canonical Ltd. Licensed under CC BY-SA 4.0. Received through OSV.dev. Reformatted by exploit.cc.
Ubuntu Pro 14.04 LTS
- python2.7 Fixed in 2.7.6-8ubuntu0.6+esm12Available with Ubuntu Pro (Infra-only): https://ubuntu.com/pro
- python3.4 Fixed in 3.4.3-1ubuntu1~14.04.7+esm12Available with Ubuntu Pro (Infra-only): https://ubuntu.com/pro
- python3.5 Fixed in 3.5.2-2ubuntu0~16.04.4~14.04.1+esm1Available with Ubuntu Pro (Infra-only): https://ubuntu.com/pro
Source: Ubuntu, Canonical Ltd. Licensed under CC BY-SA 4.0. Received through OSV.dev. Reformatted by exploit.cc.
Ubuntu Pro 16.04 LTS
- python2.7 Fixed in 2.7.12-1ubuntu0~16.04.18+esm1Available with Ubuntu Pro (Infra-only): https://ubuntu.com/pro
- python3.5 Fixed in 3.5.2-2ubuntu0~16.04.13+esm2Available with Ubuntu Pro (Infra-only): https://ubuntu.com/pro
Source: Ubuntu, Canonical Ltd. Licensed under CC BY-SA 4.0. Received through OSV.dev. Reformatted by exploit.cc.
Ubuntu Pro 18.04 LTS
- python3.7 Fixed in 3.7.5-2ubuntu1~18.04.2+esm3Available with Ubuntu Pro: https://ubuntu.com/pro
- python3.8 Fixed in 3.8.0-3ubuntu1~18.04.2+esm2Available with Ubuntu Pro: https://ubuntu.com/pro
Source: Ubuntu, Canonical Ltd. Licensed under CC BY-SA 4.0. Received through OSV.dev. Reformatted by exploit.cc.
Ubuntu Pro 20.04 LTS
- python2.7 Fixed in 2.7.18-1~20.04.3+esm1Available with Ubuntu Pro: https://ubuntu.com/pro
Source: Ubuntu, Canonical Ltd. Licensed under CC BY-SA 4.0. Received through OSV.dev. Reformatted by exploit.cc.
Ubuntu Pro 22.04 LTS
- python2.7 Fixed in 2.7.18-13ubuntu1.1+esm2Available with Ubuntu Pro: https://ubuntu.com/pro
Source: Ubuntu, Canonical Ltd. Licensed under CC BY-SA 4.0. Received through OSV.dev. Reformatted by exploit.cc.
A release or ecosystem missing from this list has no record here. It may be unaffected or not covered by the source. Source notices and licences.