CVE-2019-20907: Input Validation

Published Dec 10, 2019
·
Updated

A flaw was found in python. In Lib/tarfile.py an attacker is able to craft a TAR archive leading to an infinite loop when opened by tarfile.open, because procpax lacks header validation.

Other sources

In Lib/tarfile.py in Python through 3.8.3, an attacker is able to craft a TAR archive leading to an infinite loop when opened by tarfile.open, because procpax lacks header validation.

Affected Software

36 affected componentsFixes available
redhat/python<0:2.7.5-90.el7
0:2.7.5-90.el7
redhat/python3<0:3.6.8-18.el7
0:3.6.8-18.el7
redhat/python<0:2.7.5-64.el7_4
0:2.7.5-64.el7_4
redhat/python<0:2.7.5-84.el7_6
0:2.7.5-84.el7_6
redhat/python<0:2.7.5-88.el7_7
0:2.7.5-88.el7_7
redhat/python3<0:3.6.8-31.el8
0:3.6.8-31.el8
redhat/rh-python36-python<0:3.6.12-1.el6
0:3.6.12-1.el6
redhat/rh-python36-python-pip<0:9.0.1-5.el6
0:9.0.1-5.el6
redhat/rh-python36-python-virtualenv<0:15.1.0-3.el6
0:15.1.0-3.el6
redhat/python27-python<0:2.7.18-2.el7
0:2.7.18-2.el7
redhat/python27-python-pip<0:8.1.2-6.el7
0:8.1.2-6.el7
redhat/python27-python-virtualenv<0:13.1.0-4.el7
0:13.1.0-4.el7
redhat/rh-python36-python<0:3.6.12-1.el7
0:3.6.12-1.el7
redhat/rh-python36-python-pip<0:9.0.1-5.el7
0:9.0.1-5.el7
redhat/rh-python36-python-virtualenv<0:15.1.0-3.el7
0:15.1.0-3.el7
redhat/rh-python38-python<0:3.8.6-1.el7
0:3.8.6-1.el7
redhat/rh-python38-python-psutil<0:5.6.4-5.el7
0:5.6.4-5.el7
redhat/rh-python38-python-urllib3<0:1.25.7-6.el7
0:1.25.7-6.el7
Python Python>=3.5.0<3.5.10
Python Python>=3.6.0<3.6.12
Python Python>=3.7.0<3.7.9
Python Python>=3.8.0<3.8.5
openSUSE Leap=15.1
openSUSE Leap=15.2
Debian Debian Linux=9.0
Fedoraproject Fedora=31
Fedoraproject Fedora=32
Canonical Ubuntu Linux=12.04
Canonical Ubuntu Linux=14.04
Canonical Ubuntu Linux=16.04
Canonical Ubuntu Linux=18.04
Canonical Ubuntu Linux=20.04
NetApp Active Iq Unified Manager Vsphere>=9.5
NetApp Cloud Volumes Ontap Mediator
Oracle ZFS Storage Appliance Kit=8.8
debian/pypy3
7.3.11+dfsg-2+deb12u37.3.19+dfsg-28.0.0+dfsg-1

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade redhat/python to a version that resolves this vulnerability.

    Fixed in 0:2.7.5-90.el7
  2. Upgrade

    Upgrade redhat/python3 to a version that resolves this vulnerability.

    Fixed in 0:3.6.8-18.el7
  3. Upgrade

    Upgrade redhat/python to a version that resolves this vulnerability.

    Fixed in 0:2.7.5-64.el7_4
  4. Upgrade

    Upgrade redhat/python to a version that resolves this vulnerability.

    Fixed in 0:2.7.5-84.el7_6
  5. Upgrade

    Upgrade redhat/python to a version that resolves this vulnerability.

    Fixed in 0:2.7.5-88.el7_7
  6. Upgrade

    Upgrade redhat/python3 to a version that resolves this vulnerability.

    Fixed in 0:3.6.8-31.el8
  7. Upgrade

    Upgrade redhat/rh-python36-python to a version that resolves this vulnerability.

    Fixed in 0:3.6.12-1.el6
  8. Upgrade

    Upgrade redhat/rh-python36-python-pip to a version that resolves this vulnerability.

    Fixed in 0:9.0.1-5.el6
  9. Upgrade

    Upgrade redhat/rh-python36-python-virtualenv to a version that resolves this vulnerability.

    Fixed in 0:15.1.0-3.el6
  10. Upgrade

    Upgrade redhat/python27-python to a version that resolves this vulnerability.

    Fixed in 0:2.7.18-2.el7
  11. Upgrade

    Upgrade redhat/python27-python-pip to a version that resolves this vulnerability.

    Fixed in 0:8.1.2-6.el7
  12. Upgrade

    Upgrade redhat/python27-python-virtualenv to a version that resolves this vulnerability.

    Fixed in 0:13.1.0-4.el7
  13. Upgrade

    Upgrade redhat/rh-python36-python to a version that resolves this vulnerability.

    Fixed in 0:3.6.12-1.el7
  14. Upgrade

    Upgrade redhat/rh-python36-python-pip to a version that resolves this vulnerability.

    Fixed in 0:9.0.1-5.el7
  15. Upgrade

    Upgrade redhat/rh-python36-python-virtualenv to a version that resolves this vulnerability.

    Fixed in 0:15.1.0-3.el7
  16. Upgrade

    Upgrade redhat/rh-python38-python to a version that resolves this vulnerability.

    Fixed in 0:3.8.6-1.el7
  17. Upgrade

    Upgrade redhat/rh-python38-python-psutil to a version that resolves this vulnerability.

    Fixed in 0:5.6.4-5.el7
  18. Upgrade

    Upgrade redhat/rh-python38-python-urllib3 to a version that resolves this vulnerability.

    Fixed in 0:1.25.7-6.el7
  19. Upgrade

    Upgrade debian/pypy3 to a version that resolves this vulnerability.

    Fixed in 7.3.11+dfsg-2+deb12u3Fixed in 7.3.19+dfsg-2Fixed in 8.0.0+dfsg-1
  20. Compensating control

    Do not open untrusted TAR files with Python's tarfile module.

Event History

Dec 10, 2019
CVE Published
12:00 AM
Jul 13, 2020
CVE Published
via MITRE·12:00 AM
Data Sourced
via MITRE·12:00 AM
Description
Data Sourced
via NVD·01:15 PM
RemedyDescriptionSeverityWeaknessAffected Software
Data Sourced
via Red Hat·06:33 PM
DescriptionSeverityAffected Software
Nov 21, 2025
Data Sourced
via Ubuntu·09:39 PM
RemedyDescriptionSeverityAffected Software
Feb 21, 2026
Data Sourced
via Launchpad·12:13 AM
Description
Oct 10, 2026
Data Sourced
via Debian·06:06 PM
DescriptionAffected Software

Frequently Asked Questions

1

What is CVE-2019-20907?

CVE-2019-20907 is a vulnerability in Python that allows an attacker to craft a TAR archive leading to an infinite loop when opened by tarfile.open.

2

How severe is CVE-2019-20907?

CVE-2019-20907 has a severity score of 7.5, which is considered high.

3

Which versions of Python are affected by CVE-2019-20907?

Python versions 2.7.5 to 2.7.5-90.el7, 3.6.8 to 3.6.8-18.el7, and 3.8.0 to 3.8.3 are affected by CVE-2019-20907.

4

How can I fix CVE-2019-20907?

To fix CVE-2019-20907, update your Python version to 2.7.5-91.el7, 3.6.8-19.el7, or 3.8.4 or later.

5

Where can I find more information about CVE-2019-20907?

You can find more information about CVE-2019-20907 at the following references: [link 1], [link 2], [link 3].

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203