Code Injection in Python - CVE-2020-27619

 

Code Injection in Python - CVE-2020-27619

Published: February 11, 2021


Vulnerability identifier: #VU50621
CSH Severity: Medium
CVSS v4: 8.7 [CVSS:4.0/AV:A/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N]
CVE-ID: CVE-2020-27619
CWE-ID: CWE-94
Exploitation vector: Adjecent network
Exploit availability: No public exploit available

Vulnerability details

The vulnerability allows a remote attacker to execute arbitrary code on the target system.

The vulnerability exists due to Python executed eval() function on the code, retrieved via HTTP protocol in Lib/test/multibytecodec_support.py CJK codec tests. A remote attacker with ability to intercept network traffic can perform a Man-in-the-Middle (MitM) attack and execute arbitrary Python code on the system.


Affected software

Python
Arch Linux
Amazon Linux AMI
Gentoo Linux
Anolis OS
SUSE OpenStack Cloud
HPE Helion Openstack
Red Hat Enterprise Linux for x86_64
Red Hat Enterprise Linux for IBM z Systems
Red Hat Enterprise Linux for Power, little endian
Red Hat Enterprise Linux for ARM 64
SUSE OpenStack Cloud Crowbar
SUSE Linux Enterprise Module for Web Scripting
SUSE Linux Enterprise Server
SUSE Linux Enterprise Server for SAP
SUSE Linux Enterprise Software Development Kit
Ubuntu
openEuler
Fedora
cflinuxfs3
Cloud Pak for Security (CP4S)
Red Hat OpenShift Jaeger
python3 (Red Hat package)
python3.7-minimal (Ubuntu package)
python3.11 (Ubuntu package)
python3.11-minimal (Ubuntu package)
python3.8 (Ubuntu package)
python3.8-minimal (Ubuntu package)
python3.9 (Ubuntu package)
python3.9-minimal (Ubuntu package)
python3.6 (Ubuntu package)
python3.6-minimal (Ubuntu package)
python3.7 (Ubuntu package)
python3.5 (Ubuntu package)
python3.5-minimal (Ubuntu package)
python38-wcwidth
python38-PyMySQL
python38-pluggy
python38-Cython
python38-wheel
python38-wheel-wheel
python38-markupsafe
python38-asn1crypto
python38-atomicwrites
python38-scipy
python38-pysocks
python38-py
python38-six
python38-cffi
python38-numpy-doc
python38-numpy
python38-numpy-f2py
python38-urllib3
python38-pyparsing
python38-babel
python2.7 (Ubuntu package)
python2.7-minimal (Ubuntu package)
python2.7
python38-cryptography
python38-psycopg2
python38-psycopg2-doc
python38-psycopg2-tests
python38-idna
python38-jinja2
python38-pycparser
python38-requests
python38-chardet
python3.4 (Ubuntu package)
python3.4-minimal (Ubuntu package)
python3-tk
libpython3_4m1_0
libpython3_4m1_0-debuginfo
python3
python3-base
python3-base-debuginfo
python3-base-debugsource
python3-curses
python3-curses-debuginfo
python3-debugsource
libpython3_4m1_0-debuginfo-32bit
python3-base-debuginfo-32bit
libpython3_4m1_0-32bit
python3-tk-debuginfo
python3-dbm-debuginfo
python3-debuginfo
python3-dbm
python3-devel-debuginfo
python3-devel
python3-help
python3-debug
python38-rpm-macros
python38
python38-debug
python38-tkinter
python38-test
python38-devel
python38-idle
python38-libs
python3.10 (Ubuntu package)
python3.10-minimal (Ubuntu package)
python38-ply
python3.12 (Ubuntu package)
python3.12-minimal (Ubuntu package)
python38-lxml
python38-pytest
python38-mod_wsgi
python38-pyyaml
python38-psutil
python38-more-itertools
dev-python/pypy
dev-python/pypy-exe
dev-python/pypy3
python38-packaging
python38-attrs
python38-pip-wheel
python38-pip
python38-setuptools
python38-setuptools-wheel
dev-ada/gnat-suite-bin
python38-pytz
CF Deployment
Web Terminal
OpenShift Virtualization
IBM Robotic Process Automation

How to mitigate CVE-2020-27619

Install updates from vendor's website.

Python - update to 3.9.1
cflinuxfs3 - update to 0.227.0
Cloud Pak for Security (CP4S) - update to 1.8.0.0
Red Hat OpenShift Jaeger - addressed in versions 1.17.9, 1.20.4
python3 (Red Hat package) - update to 3.6.8-37.el8
CF Deployment - update to 16.7.0
python3.7-minimal (Ubuntu package) - addressed in versions Ubuntu Pro, 3.7.5-2~18.04.4
python3.11 (Ubuntu package) - addressed in versions Ubuntu Pro, 3.11.6-3ubuntu0.1
python3.11-minimal (Ubuntu package) - addressed in versions Ubuntu Pro, 3.11.6-3ubuntu0.1
python3.8 (Ubuntu package) - addressed in versions Ubuntu Pro, 3.8.0-3~18.04.1, 3.8.5-1~20.04.2, 3.8.6-1ubuntu0.2, 3.8.10-0ubuntu1~20.04.10
python3.8-minimal (Ubuntu package) - addressed in versions Ubuntu Pro, 3.8.0-3~18.04.1, 3.8.5-1~20.04.2, 3.8.6-1ubuntu0.2, 3.8.10-0ubuntu1~20.04.10
python3.9 (Ubuntu package) - update to Ubuntu Pro
python3.9-minimal (Ubuntu package) - update to Ubuntu Pro
python3.6 (Ubuntu package) - addressed in versions Ubuntu Pro, 3.6.9-1~18.04ubuntu1.4
python3.6-minimal (Ubuntu package) - addressed in versions Ubuntu Pro, 3.6.9-1~18.04ubuntu1.4
python3.7 (Ubuntu package) - addressed in versions Ubuntu Pro, 3.7.5-2~18.04.4
python3.5 (Ubuntu package) - addressed in versions Ubuntu Pro (Infra-only), 3.5.2-2ubuntu0~16.04.13
python3.5-minimal (Ubuntu package) - addressed in versions Ubuntu Pro, 3.5.2-2ubuntu0~16.04.13
python38-wcwidth - update to 0.1.7-16
python38-PyMySQL - update to 0.10.1-1
python38-pluggy - update to 0.13.0-3
python38-Cython - update to 0.29.14-4
python38-wheel - update to 0.33.6-6
python38-wheel-wheel - update to 0.33.6-6
python38-markupsafe - update to 1.1.1-6
python38-asn1crypto - update to 1.2.0-3
Web Terminal - update to 1.3
python38-atomicwrites - update to 1.3.0-8
python38-scipy - update to 1.3.1-4
python38-pysocks - update to 1.7.1-4
python38-py - update to 1.8.0-8
python38-six - update to 1.12.0-10
python38-cffi - update to 1.13.2-3
python38-numpy-doc - update to 1.17.3-6
python38-numpy - update to 1.17.3-6
python38-numpy-f2py - update to 1.17.3-6
python38-urllib3 - update to 1.25.7-5
python38-pyparsing - update to 2.4.5-3
OpenShift Virtualization - addressed in versions 2.6.6, 4.8.0
python38-babel - update to 2.7.0-11
python2.7 (Ubuntu package) - addressed in versions 2.7.6-8ubuntu0.6+esm8, 2.7.12-1ubuntu0~16.04.14, 2.7.12-1ubuntu0~16.04.16, 2.7.12-1ubuntu0~16.04.18, 2.7.17-1~18.04ubuntu1.3, 2.7.17-1~18.04ubuntu1.5, 2.7.17-1~18.04ubuntu1.6, 2.7.17-1~18.04ubuntu1.7, 2.7.18-1~20.04.1, 2.7.68ubuntu0.6+esm10
python2.7-minimal (Ubuntu package) - addressed in versions 2.7.6-8ubuntu0.6+esm8, 2.7.12-1ubuntu0~16.04.14, 2.7.12-1ubuntu0~16.04.16, 2.7.12-1ubuntu0~16.04.18, 2.7.17-1~18.04ubuntu1.3, 2.7.17-1~18.04ubuntu1.5, 2.7.17-1~18.04ubuntu1.6, 2.7.17-1~18.04ubuntu1.7, 2.7.18-1~20.04.1, 2.7.68ubuntu0.6+esm10
python2.7 - addressed in versions 2.7.18-11.fc33, 2.7.18-11.fc34, 2.7.18-11.fc35
python38-cryptography - update to 2.8-3
python38-psycopg2 - update to 2.8.4-4
python38-psycopg2-doc - update to 2.8.4-4
python38-psycopg2-tests - update to 2.8.4-4
python38-idna - update to 2.8-6
python38-jinja2 - update to 2.10.3-5
python38-pycparser - update to 2.19-3
python38-requests - update to 2.22.0-9
python38-chardet - update to 3.0.4-19
python3.4 (Ubuntu package) - update to 3.4.3-1ubuntu1~14.04.7+esm10
python3.4-minimal (Ubuntu package) - update to 3.4.3-1ubuntu1~14.04.7+esm10
python3-tk - update to 3.4.10-25.71.1
libpython3_4m1_0 - update to 3.4.10-25.71.1
libpython3_4m1_0-debuginfo - update to 3.4.10-25.71.1
python3 - update to 3.4.10-25.71.1
python3-base - update to 3.4.10-25.71.1
python3-base-debuginfo - update to 3.4.10-25.71.1
python3-base-debugsource - update to 3.4.10-25.71.1
python3-curses - update to 3.4.10-25.71.1
python3-curses-debuginfo - update to 3.4.10-25.71.1
python3-debugsource - update to 3.4.10-25.71.1
libpython3_4m1_0-debuginfo-32bit - update to 3.4.10-25.71.1
python3-base-debuginfo-32bit - update to 3.4.10-25.71.1
libpython3_4m1_0-32bit - update to 3.4.10-25.71.1
python3-tk-debuginfo - update to 3.4.10-25.71.1
python3-dbm-debuginfo - update to 3.4.10-25.71.1
python3-debuginfo - update to 3.4.10-25.71.1
python3-dbm - update to 3.4.10-25.71.1
python3-devel-debuginfo - update to 3.4.10-25.71.1
python3-devel - update to 3.4.10-25.71.1
python3-debuginfo - update to 3.7.9-4
python3-devel - update to 3.7.9-4
python3-debugsource - update to 3.7.9-4
python3-help - update to 3.7.9-4
python3 - update to 3.7.9-4
python3-debug - update to 3.7.9-4
python38-rpm-macros - update to 3.8.12-1.0.1
python38 - update to 3.8.12-1.0.1
python38-debug - update to 3.8.12-1.0.1
python38-tkinter - update to 3.8.12-1.0.1
python38-test - update to 3.8.12-1.0.1
python38-devel - update to 3.8.12-1.0.1
python38-idle - update to 3.8.12-1.0.1
python38-libs - update to 3.8.12-1.0.1
python3.10 (Ubuntu package) - update to 3.10.12-1~22.04.4
python3.10-minimal (Ubuntu package) - update to 3.10.12-1~22.04.4
python38-ply - update to 3.11-10
python3.12 (Ubuntu package) - update to 3.12.0-1ubuntu0.1
python3.12-minimal (Ubuntu package) - update to 3.12.0-1ubuntu0.1
python38-lxml - update to 4.4.1-7
python38-pytest - update to 4.6.6-3
python38-mod_wsgi - update to 4.6.8-3
python38-pyyaml - update to 5.4.1-1
python38-psutil - update to 5.6.4-4
python38-more-itertools - update to 7.2.0-5
dev-python/pypy - update to 7.3.2
dev-python/pypy-exe - update to 7.3.2
dev-python/pypy3 - update to 7.3.16
python38-packaging - update to 19.2-3
python38-attrs - update to 19.3.0-3
python38-pip-wheel - update to 19.3.1-5
python38-pip - update to 19.3.1-5
IBM Robotic Process Automation - update to 21.0.5
python38-setuptools - update to 41.6.0-5
python38-setuptools-wheel - update to 41.6.0-5
dev-ada/gnat-suite-bin - update to 2019-r2
python38-pytz - update to 2019.3-3

External References

Related Security Bulletins