[Debian] High CVE: CVE-2021-23336/CVE-2022-0391/CVE-2022-48560/CVE-2022-48565/CVE-2022-48566/CVE-2023-24329/CVE-2023-40217 python2.7: multiple CVEs

Bug #2038879 reported by Yue Tao
256
This bug affects 1 person
Affects Status Importance Assigned to Milestone
StarlingX
Fix Released
High
Peng Zhang

Bug Description

CVE-2021-23336: https://nvd.nist.gov/vuln/detail/CVE-2021-23336

The package python/cpython from 0 and before 3.6.13, from 3.7.0 and before 3.7.10, from 3.8.0 and before 3.8.8, from 3.9.0 and before 3.9.2 are vulnerable to Web Cache Poisoning via urllib.parse.parse_qsl and urllib.parse.parse_qs by using a vector called parameter cloaking. When the attacker can separate query parameters using a semicolon (, they can cause a difference in the interpretation of the request between the proxy (running with default configuration) and the server. This can result in malicious requests being cached as completely safe ones, as the proxy would usually not see the semicolon as a separator, and therefore would not include it in a cache key of an unkeyed parameter.

CVE-2022-0391: https://nvd.nist.gov/vuln/detail/CVE-2022-0391

A flaw was found in Python, specifically within the urllib.parse module. This module helps break Uniform Resource Locator (URL) strings into components. The issue involves how the urlparse method does not sanitize input and allows characters like '\r' and '\n' in the URL path. This flaw allows an attacker to input a crafted URL, leading to injection attacks. This flaw affects Python versions prior to 3.10.0b1, 3.9.5, 3.8.11, 3.7.11 and 3.6.14.

CVE-2022-48560: https://nvd.nist.gov/vuln/detail/CVE-2022-48560

A use-after-free exists in Python through 3.9 via heappushpop in heapq.

CVE-2022-48565: https://nvd.nist.gov/vuln/detail/CVE-2022-48565

An XML External Entity (XXE) issue was discovered in Python through 3.9.1. The plistlib module no longer accepts entity declarations in XML plist files to avoid XML vulnerabilities.

CVE-2022-48566: https://nvd.nist.gov/vuln/detail/CVE-2022-48566

An issue was discovered in compare_digest in Lib/hmac.py in Python through 3.9.1. Constant-time-defeating optimisations were possible in the accumulator variable in hmac.compare_digest.

CVE-2023-24329: https://nvd.nist.gov/vuln/detail/CVE-2023-24329

An issue in the urllib.parse component of Python before 3.11.4 allows attackers to bypass blocklisting methods by supplying a URL that starts with blank characters.

CVE-2023-40217: https://nvd.nist.gov/vuln/detail/CVE-2023-40217

An issue was discovered in Python before 3.8.18, 3.9.x before 3.9.18, 3.10.x before 3.10.13, and 3.11.x before 3.11.5. It primarily affects servers (such as HTTP servers) that use TLS client authentication. If a TLS server-side socket is created, receives data into the socket buffer, and then is closed quickly, there is a brief window where the SSLSocket instance will detect the socket as "not connected" and won't initiate a handshake, but buffered data will still be readable from the socket buffer. This data will not be authenticated if the server-side TLS peer is expecting client certificate authentication, and is indistinguishable from valid TLS stream data. Data is limited in size to the amount that will fit in the buffer. (The TLS connection cannot directly be used for data exfiltration because the vulnerable code path requires that the connection be closed on initialization of the SSLSocket.)

Base Score: High

Reference:

['libpython2.7-minimal_2.7.18-8_amd64.deb===>libpython2.7-minimal_2.7.18-8+deb11u1_amd64.deb', 'libpython2.7-stdlib_2.7.18-8_amd64.deb===>libpython2.7-stdlib_2.7.18-8+deb11u1_amd64.deb', 'python2.7_2.7.18-8_amd64.deb===>python2.7_2.7.18-8+deb11u1_amd64.deb', 'python2.7-minimal_2.7.18-8_amd64.deb===>python2.7-minimal_2.7.18-8+deb11u1_amd64.deb']

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to tools (master)

Fix proposed to branch: master
Review: https://review.opendev.org/c/starlingx/tools/+/899537

Changed in starlingx:
status: Triaged → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to tools (master)

Reviewed: https://review.opendev.org/c/starlingx/tools/+/899537
Committed: https://opendev.org/starlingx/tools/commit/55eebf2d6a2d0acfe7127431ca8395d86b629846
Submitter: "Zuul (22348)"
Branch: master

commit 55eebf2d6a2d0acfe7127431ca8395d86b629846
Author: Peng Zhang <email address hidden>
Date: Thu Nov 2 07:18:04 2023 +0000

    Debian: python2.7: fix multiple CVEs

    Upgrade libpython2.7-minimal package version from 2.7.18-8
    to 2.7.18-8+deb11u1, libpython2.7-stdlib package from
    2.7.18-8 to 2.7.18-8+deb11u1, python2.7 package from
    2.7.18-8 to 2.7.18-8+deb11u1, python2.7-minimal package from
    2.7.18-8 to 2.7.18-8+deb11u1 fix
    CVE-2021-23336/CVE-2022-0391/CVE-2022-48560/CVE-2022-48565
    /CVE-2022-48566/CVE-2023-24329/CVE-2023-40217.

    Refer to:
    https://nvd.nist.gov/vuln/detail/CVE-2021-23336
    https://nvd.nist.gov/vuln/detail/CVE-2022-0391
    https://nvd.nist.gov/vuln/detail/CVE-2022-48560
    https://nvd.nist.gov/vuln/detail/CVE-2022-48565
    https://nvd.nist.gov/vuln/detail/CVE-2022-48566
    https://nvd.nist.gov/vuln/detail/CVE-2023-24329
    https://nvd.nist.gov/vuln/detail/CVE-2023-40217

    Test Plan:
    Pass: downloader
    Pass: build-pkgs --clean --all
    Pass: build-image
    Pass: boot

    Closes-bug: #2038879

    Change-Id: Ib0297f7187083923af11f88c0b821e831008fd54
    Signed-off-by: Peng Zhang <email address hidden>

Changed in starlingx:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

Reviewed: https://review.opendev.org/c/starlingx/tools/+/900741
Committed: https://opendev.org/starlingx/tools/commit/d3c3805eef808e5327fd6dbcc36d805baf61871d
Submitter: "Zuul (22348)"
Branch: master

commit d3c3805eef808e5327fd6dbcc36d805baf61871d
Author: Peng Zhang <email address hidden>
Date: Mon Nov 13 05:23:17 2023 +0000

    Add dependency for package pandoc and python2.7

    After python2.7 related packages are upgraded to 2.7.18-8+deb11u1,
    dependency also need be added, or else it will show following broken
    packages issue:
    'libpython2.7-dev : Depends: libpython2.7-stdlib (= 2.7.18-8+deb11u1)
                        but 2.7.18-8 is to be installed
                        Depends: libpython2.7 (= 2.7.18-8+deb11u1) but it
                        is not going to be installed
    python2.7-dev : Depends: python2.7 (= 2.7.18-8+deb11u1) but 2.7.18-8
                    is to be installed
                    Depends: libpython2.7 (= 2.7.18-8+deb11u1) but it is
                    not going to be installed'.
    So add debian related packages for the unmet dependency of python2.7.

    After pandoc related package is upgraded to 2.9.2.1-1+deb11u1,
    dependency also need be added, or else it will show following broken
    packages issue:
    'pandoc : Depends: pandoc-data (>= 2.9.2.1-1+deb11u1) but 2.9.2.1-1
    is to be installed'.
    So add debian related packages for the dependency of pandoc.

    Test Plan:
    Pass: downloader
    Pass: build-pkgs --clean --all
    Pass: build-image
    Pass: boot

    Closes-bug: #2038885
    Closes-bug: #2038879

    Change-Id: Iddd84d615cfac3e8cc0d8ab0988d055ff4424648
    Signed-off-by: Peng Zhang <email address hidden>

Ghada Khalil (gkhalil)
Changed in starlingx:
assignee: nobody → Peng Zhang (pzhang2)
To post a comment you must log in.
This report contains Public Security information  
Everyone can see this security related information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.