Out-of-bounds read in Python - CVE-2024-5642
Published: September 20, 2024
Vulnerability details
The vulnerability allows a remote attacker to perform a denial of service (DoS) attack.
The vulnerability exists due to CPython 3.9 and earlier doesn't disallow configuring an empty list ("[]") for SSLContext.set_npn_protocols() which is an invalid value for the underlying OpenSSL API when NPN is used. A remote attacker can trigger an out-of-bounds read error and perform a denial of service (DoS) attack.
Affected software
SUSE Linux Enterprise High Performance Computing LTSS 15
SUSE Linux Enterprise Server for SAP Applications 15
SUSE Linux Enterprise Server 15
SUSE Linux Enterprise High Performance Computing 15
SUSE Linux Enterprise High Performance Computing ESPOS 15
SUSE Linux Enterprise Desktop 15
SUSE Linux Enterprise Software Development Kit 12
SUSE Linux Enterprise Server for SAP Applications 12
SUSE Linux Enterprise Server 12
SUSE Linux Enterprise High Performance Computing 12
SUSE Linux Enterprise Real Time 15
F5OS
SUSE Manager Server
SUSE Manager Retail Branch Server
SUSE Manager Proxy
SUSE Linux Enterprise Micro
SUSE Linux Enterprise Micro for Rancher
openSUSE Leap Micro
SUSE Enterprise Storage
Red Hat Enterprise Linux for x86_64
Red Hat CodeReady Linux Builder 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
Red Hat CodeReady Linux Builder for Power, little endian
Red Hat CodeReady Linux Builder for ARM 64
Red Hat CodeReady Linux Builder for IBM z Systems
Anolis OS
SUSE Linux Enterprise Server 15 SP3 LTSS
SUSE Linux Enterprise Desktop 15 SP4 LTSS
SUSE Linux Enterprise Server 15 SP4 LTSS
Development Tools Module
Basesystem Module
Legacy Module
Python 3 Module
openSUSE Leap
openEuler
APEX Cloud Platform for Microsoft Azure
RecoverPoint for Virtual Machines
AppDynamics NodeJS Agent
Red Hat Update Infrastructure (RHUI)
python39-wcwidth
python39-PyMySQL
python39-toml
python39-pluggy
python39-Cython
python39-wheel-wheel
python39-wheel
python39-iniconfig
python39-scipy
python39-pysocks
python39-py
python39-cffi
python39-six
python39-numpy
python39-numpy-doc
python39-numpy-f2py
python39-urllib3
python39-pyparsing
python39-pybind11-devel
python39-pybind11
python39-psycopg2-tests
python39-psycopg2-doc
python39-psycopg2
python39-idna
python39-pycparser
python39-requests
python39-chardet
python39-cryptography
python36-devel
libpython3_6m1_0
libpython3_6m1_0-32bit
libpython3_6m1_0-debuginfo-32bit
python36
python36-base-debuginfo
python36-debugsource
libpython3_6m1_0-debuginfo
python36-debuginfo
python36-base
python3-base
python3-base-debuginfo
python3-debugsource
python3
python3-core-debugsource
python3-debuginfo
libpython3_6m1_0-64bit-debuginfo
libpython3_6m1_0-64bit
libpython3_6m1_0-32bit-debuginfo
python3-devel
python3-curses
python3-tools
python3-curses-debuginfo
python3-dbm-debuginfo
python3-tk
python3-doc-devhelp
python3-tk-debuginfo
python3-testsuite
python3-dbm
python3-testsuite-debuginfo
python3-doc
python3-idle
python3-devel-debuginfo
python3-debug
python3-unversioned-command
python3-help
python39-64bit-debuginfo
python39
python39-tk
python39-base-debuginfo
python39-curses-debuginfo
python39-curses
python39-debugsource
python39-idle
libpython3_9-1_0
python39-base
python39-core-debugsource
python39-debuginfo
python39-base-64bit-debuginfo
python39-base-64bit
libpython3_9-1_0-64bit
python39-64bit
libpython3_9-1_0-64bit-debuginfo
python39-32bit
python39-32bit-debuginfo
python39-base-32bit-debuginfo
python39-base-32bit
libpython3_9-1_0-32bit-debuginfo
libpython3_9-1_0-32bit
python39-doc
python39-testsuite
python39-doc-devhelp
python39-testsuite-debuginfo
python39-dbm-debuginfo
libpython3_9-1_0-debuginfo
python39-dbm
python39-tools
python39-devel
python39-tk-debuginfo
python39-rpm-macros
python39-debug
python39-libs
python39-test
python39-tkinter
python311-idle
python311-tk-debuginfo
libpython3_11-1_0-debuginfo
python311-testsuite-debuginfo
python311-devel
python311-doc
libpython3_11-1_0
python311-base
python311-tk
python311-testsuite
python311-base-debuginfo
python311
python311-dbm
python311-doc-devhelp
python311-debugsource
python311-curses-debuginfo
python311-dbm-debuginfo
python311-tools
libpython3_11-1_0-64bit-debuginfo
python311-debuginfo
python311-base-64bit
python311-64bit
libpython3_11-1_0-64bit
python311-base-64bit-debuginfo
python311-64bit-debuginfo
python311-32bit
python311-curses
libpython3_11-1_0-32bit-debuginfo
python311-base-32bit-debuginfo
libpython3_11-1_0-32bit
python311-32bit-debuginfo
python311-base-32bit
python311-core-debugsource
python39-ply
python39-lxml
python39-mod_wsgi
python39-pyyaml
python39-psutil
python39-pytest
python39-more-itertools
python39-pip-wheel
python39-pip
python39-attrs
python39-packaging
python39-setuptools-wheel
python39-setuptools
OpenShift Virtualization
Dell EMC VxRail Appliance
How to mitigate CVE-2024-5642
APEX Cloud Platform for Microsoft Azure - update to 01.04.00.00
RecoverPoint for Virtual Machines - update to 6.0 SP2 P1
AppDynamics NodeJS Agent - update to 25.12.1
python39-wcwidth - update to 0.2.5-3
python39-PyMySQL - update to 0.10.1-2
python39-toml - update to 0.10.1-5
python39-pluggy - update to 0.13.1-3
python39-Cython - update to 0.29.21-5
python39-wheel-wheel - update to 0.35.1-4
python39-wheel - update to 0.35.1-4
python39-iniconfig - update to 1.1.1-2
python39-scipy - update to 1.5.4-5.0.1
python39-pysocks - update to 1.7.1-4
python39-py - update to 1.10.0-1
python39-cffi - update to 1.14.3-2
python39-six - update to 1.15.0-3
python39-numpy - update to 1.19.4-3.0.1
python39-numpy-doc - update to 1.19.4-3.0.1
python39-numpy-f2py - update to 1.19.4-3.0.1
python39-urllib3 - update to 1.25.10-5
python39-pyparsing - update to 2.4.7-5
python39-pybind11-devel - update to 2.7.1-1
python39-pybind11 - update to 2.7.1-1
python39-psycopg2-tests - update to 2.8.6-3.0.1
python39-psycopg2-doc - update to 2.8.6-3.0.1
python39-psycopg2 - update to 2.8.6-3.0.1
python39-idna - update to 2.10-4
python39-pycparser - update to 2.20-3
python39-requests - update to 2.25.0-3
python39-chardet - update to 3.0.4-19
python39-cryptography - update to 3.3.1-3
python36-devel - update to 3.6.15-64.1
libpython3_6m1_0 - addressed in versions 3.6.15-64.1, 3.6.15-150000.3.158.1, 3.6.15-150300.10.72.1
libpython3_6m1_0-32bit - addressed in versions 3.6.15-64.1, 3.6.15-150300.10.72.1
libpython3_6m1_0-debuginfo-32bit - update to 3.6.15-64.1
python36 - update to 3.6.15-64.1
python36-base-debuginfo - update to 3.6.15-64.1
python36-debugsource - update to 3.6.15-64.1
libpython3_6m1_0-debuginfo - addressed in versions 3.6.15-64.1, 3.6.15-150000.3.158.1, 3.6.15-150300.10.72.1
python36-debuginfo - update to 3.6.15-64.1
python36-base - update to 3.6.15-64.1
python3-base - addressed in versions 3.6.15-150000.3.158.1, 3.6.15-150300.10.72.1
python3-base-debuginfo - addressed in versions 3.6.15-150000.3.158.1, 3.6.15-150300.10.72.1
python3-debugsource - addressed in versions 3.6.15-150000.3.158.1, 3.6.15-150300.10.72.1
python3 - addressed in versions 3.6.15-150000.3.158.1, 3.6.15-150300.10.72.1
python3-core-debugsource - addressed in versions 3.6.15-150000.3.158.1, 3.6.15-150300.10.72.1
python3-debuginfo - addressed in versions 3.6.15-150000.3.158.1, 3.6.15-150300.10.72.1
libpython3_6m1_0-64bit-debuginfo - update to 3.6.15-150300.10.72.1
libpython3_6m1_0-64bit - update to 3.6.15-150300.10.72.1
libpython3_6m1_0-32bit-debuginfo - update to 3.6.15-150300.10.72.1
python3-devel - update to 3.6.15-150300.10.72.1
python3-curses - update to 3.6.15-150300.10.72.1
python3-tools - update to 3.6.15-150300.10.72.1
python3-curses-debuginfo - update to 3.6.15-150300.10.72.1
python3-dbm-debuginfo - update to 3.6.15-150300.10.72.1
python3-tk - update to 3.6.15-150300.10.72.1
python3-doc-devhelp - update to 3.6.15-150300.10.72.1
python3-tk-debuginfo - update to 3.6.15-150300.10.72.1
python3-testsuite - update to 3.6.15-150300.10.72.1
python3-dbm - update to 3.6.15-150300.10.72.1
python3-testsuite-debuginfo - update to 3.6.15-150300.10.72.1
python3-doc - update to 3.6.15-150300.10.72.1
python3-idle - update to 3.6.15-150300.10.72.1
python3-devel-debuginfo - update to 3.6.15-150300.10.72.1
python3-debug - addressed in versions 3.9.9-44, 3.9.9-48
python3 - addressed in versions 3.9.9-44, 3.9.9-48
python3-debuginfo - addressed in versions 3.9.9-44, 3.9.9-48
python3-debugsource - addressed in versions 3.9.9-44, 3.9.9-48
python3-devel - addressed in versions 3.9.9-44, 3.9.9-48
python3-unversioned-command - addressed in versions 3.9.9-44, 3.9.9-48
python3-help - addressed in versions 3.9.9-44, 3.9.9-48
python39-64bit-debuginfo - update to 3.9.19-150300.4.49.1
python39 - update to 3.9.19-150300.4.49.1
python39-tk - update to 3.9.19-150300.4.49.1
python39-base-debuginfo - update to 3.9.19-150300.4.49.1
python39-curses-debuginfo - update to 3.9.19-150300.4.49.1
python39-curses - update to 3.9.19-150300.4.49.1
python39-debugsource - update to 3.9.19-150300.4.49.1
python39-idle - update to 3.9.19-150300.4.49.1
libpython3_9-1_0 - update to 3.9.19-150300.4.49.1
python39-base - update to 3.9.19-150300.4.49.1
python39-core-debugsource - update to 3.9.19-150300.4.49.1
python39-debuginfo - update to 3.9.19-150300.4.49.1
python39-base-64bit-debuginfo - update to 3.9.19-150300.4.49.1
python39-base-64bit - update to 3.9.19-150300.4.49.1
libpython3_9-1_0-64bit - update to 3.9.19-150300.4.49.1
python39-64bit - update to 3.9.19-150300.4.49.1
libpython3_9-1_0-64bit-debuginfo - update to 3.9.19-150300.4.49.1
python39-32bit - update to 3.9.19-150300.4.49.1
python39-32bit-debuginfo - update to 3.9.19-150300.4.49.1
python39-base-32bit-debuginfo - update to 3.9.19-150300.4.49.1
python39-base-32bit - update to 3.9.19-150300.4.49.1
libpython3_9-1_0-32bit-debuginfo - update to 3.9.19-150300.4.49.1
libpython3_9-1_0-32bit - update to 3.9.19-150300.4.49.1
python39-doc - update to 3.9.19-150300.4.49.1
python39-testsuite - update to 3.9.19-150300.4.49.1
python39-doc-devhelp - update to 3.9.19-150300.4.49.1
python39-testsuite-debuginfo - update to 3.9.19-150300.4.49.1
python39-dbm-debuginfo - update to 3.9.19-150300.4.49.1
libpython3_9-1_0-debuginfo - update to 3.9.19-150300.4.49.1
python39-dbm - update to 3.9.19-150300.4.49.1
python39-tools - update to 3.9.19-150300.4.49.1
python39-devel - update to 3.9.19-150300.4.49.1
python39-tk-debuginfo - update to 3.9.19-150300.4.49.1
python39 - update to 3.9.25-2.0.1
python39-rpm-macros - update to 3.9.25-2.0.1
python39-debug - update to 3.9.25-2.0.1
python39-devel - update to 3.9.25-2.0.1
python39-idle - update to 3.9.25-2.0.1
python39-libs - update to 3.9.25-2.0.1
python39-test - update to 3.9.25-2.0.1
python39-tkinter - update to 3.9.25-2.0.1
python311-idle - update to 3.11.9-150600.3.3.1
python311-tk-debuginfo - update to 3.11.9-150600.3.3.1
libpython3_11-1_0-debuginfo - update to 3.11.9-150600.3.3.1
python311-testsuite-debuginfo - update to 3.11.9-150600.3.3.1
python311-devel - update to 3.11.9-150600.3.3.1
python311-doc - update to 3.11.9-150600.3.3.1
libpython3_11-1_0 - update to 3.11.9-150600.3.3.1
python311-base - update to 3.11.9-150600.3.3.1
python311-tk - update to 3.11.9-150600.3.3.1
python311-testsuite - update to 3.11.9-150600.3.3.1
python311-base-debuginfo - update to 3.11.9-150600.3.3.1
python311 - update to 3.11.9-150600.3.3.1
python311-dbm - update to 3.11.9-150600.3.3.1
python311-doc-devhelp - update to 3.11.9-150600.3.3.1
python311-debugsource - update to 3.11.9-150600.3.3.1
python311-curses-debuginfo - update to 3.11.9-150600.3.3.1
python311-dbm-debuginfo - update to 3.11.9-150600.3.3.1
python311-tools - update to 3.11.9-150600.3.3.1
libpython3_11-1_0-64bit-debuginfo - update to 3.11.9-150600.3.3.1
python311-debuginfo - update to 3.11.9-150600.3.3.1
python311-base-64bit - update to 3.11.9-150600.3.3.1
python311-64bit - update to 3.11.9-150600.3.3.1
libpython3_11-1_0-64bit - update to 3.11.9-150600.3.3.1
python311-base-64bit-debuginfo - update to 3.11.9-150600.3.3.1
python311-64bit-debuginfo - update to 3.11.9-150600.3.3.1
python311-32bit - update to 3.11.9-150600.3.3.1
python311-curses - update to 3.11.9-150600.3.3.1
libpython3_11-1_0-32bit-debuginfo - update to 3.11.9-150600.3.3.1
python311-base-32bit-debuginfo - update to 3.11.9-150600.3.3.1
libpython3_11-1_0-32bit - update to 3.11.9-150600.3.3.1
python311-32bit-debuginfo - update to 3.11.9-150600.3.3.1
python311-base-32bit - update to 3.11.9-150600.3.3.1
python311-core-debugsource - update to 3.11.9-150600.3.3.1
python39-ply - update to 3.11-10
python39-lxml - update to 4.6.5-1
python39-mod_wsgi - update to 4.7.1-7
OpenShift Virtualization - update to 4.19.17
Red Hat Update Infrastructure (RHUI) - update to 5.0.0
python39-pyyaml - update to 5.4.1-1
python39-psutil - update to 5.8.0-4.0.1
python39-pytest - update to 6.0.2-2.0.1
Dell EMC VxRail Appliance - update to 8.0.311
python39-more-itertools - update to 8.5.0-2
python39-pip-wheel - update to 20.2.4-9
python39-pip - update to 20.2.4-9
python39-attrs - update to 20.3.0-2
python39-packaging - update to 20.4-4
python39-setuptools-wheel - update to 50.3.2-7
python39-setuptools - update to 50.3.2-7
External References
- https://jbp.io/2024/06/27/cve-2024-5535-openssl-memory-safety.html
- https://github.com/python/cpython/pull/23014
- https://mail.python.org/archives/list/security-announce@python.org/thread/PLP2JI3PJY33YG6P5BZYSSNU66HASXBQ/
- https://github.com/python/cpython/commit/39258d3595300bc7b952854c915f63ae2d4b9c3e
- http://www.openwall.com/lists/oss-security/2024/06/28/4
- https://github.com/python/cpython/issues/121227
- https://security.netapp.com/advisory/ntap-20240726-0005/
- https://github.com/advisories/GHSA-hrvr-7x5w-xpmq
Related Security Bulletins
- Denial of service in Python NPN support
- SUSE update for python311
- SUSE update for python39
- SUSE update for python3
- SUSE update for python36
- SUSE update for python3
- Multiple vulnerabilities in Dell VxRail Appliance
- APEX Cloud Platform for Microsoft Azure update for third-party components
- Dell RecoverPoint for Virtual Machines update for third-party components
- openEuler 22.03 LTS SP4 update for python3
- openEuler 22.03 LTS SP3 update for python3
- Red Hat Enterprise Linux 8 update for the python39:3.9 module
- Anolis OS update for python39:3.9 module
- Multiple vulnerabilities in Red Hat Update Infrastructure (RHUI) 5 container images
- Multiple Python vulnerabilities in F5OS
- Multiple vulnerabilities in OpenShift Virtualization 4.19
- Splunk AppDynamics NodeJS Agent update for third-party components