Security update for python-httplib2

Announcement ID: SUSE-SU-2021:1807-1
Rating: moderate
References:
Cross-References:
CVSS scores:
  • CVE-2020-11078 ( SUSE ): 6.8 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:N/I:H/A:N
  • CVE-2020-11078 ( NVD ): 6.8 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:N/I:H/A:N
  • CVE-2021-21240 ( SUSE ): 6.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
  • CVE-2021-21240 ( NVD ): 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Affected Products:
  • Public Cloud Module 12
  • SUSE Linux Enterprise High Performance Computing 12 SP2
  • SUSE Linux Enterprise High Performance Computing 12 SP3
  • SUSE Linux Enterprise High Performance Computing 12 SP4
  • SUSE Linux Enterprise High Performance Computing 12 SP5
  • SUSE Linux Enterprise Server 12
  • SUSE Linux Enterprise Server 12 SP1
  • SUSE Linux Enterprise Server 12 SP2
  • SUSE Linux Enterprise Server 12 SP3
  • SUSE Linux Enterprise Server 12 SP4
  • SUSE Linux Enterprise Server 12 SP5
  • SUSE Linux Enterprise Server for SAP Applications 12
  • SUSE Linux Enterprise Server for SAP Applications 12 SP1
  • SUSE Linux Enterprise Server for SAP Applications 12 SP2
  • SUSE Linux Enterprise Server for SAP Applications 12 SP3
  • SUSE Linux Enterprise Server for SAP Applications 12 SP4
  • SUSE Linux Enterprise Server for SAP Applications 12 SP5
  • SUSE OpenStack Cloud 7

An update that solves two vulnerabilities can now be installed.

Description:

This update for python-httplib2 contains the following fixes:

Security fixes included in this update: - CVE-2021-21240: Fixed a regular expression denial of service via malicious header (bsc#1182053). - CVE-2020-11078: Fixed an issue where an attacker could change request headers and body (bsc#1171998).

Non-security fixes included in this update: - Update in SLE to 0.19.0 (bsc#1182053, CVE-2021-21240)

  • update to 0.19.0:
  • auth: parse headers using pyparsing instead of regexp
  • auth: WSSE token needs to be string not bytes

  • update to 0.18.1: (bsc#1171998, CVE-2020-11078)

  • explicit build-backend workaround for pip build isolation bug
  • IMPORTANT security vulnerability CWE-93 CRLF injection Force %xx quote of space, CR, LF characters in uri.
  • Ship test suite in source dist

  • update to 0.17.3:

  • bugfixes

  • Update to 0.17.1

  • python3: no_proxy was not checked with https
  • feature: Http().redirect_codes set, works after follow(_all)_redirects check This allows one line workaround for old gcloud library that uses 308 response without redirect semantics.
  • IMPORTANT cache invalidation change, fix 307 keep method, add 308 Redirects
  • proxy: username/password as str compatible with pysocks
  • python2: regression in connect() error handling
  • add support for password protected certificate files
  • feature: Http.close() to clean persistent connections and sensitive data

  • Update to 0.14.0:

  • Python3: PROXY_TYPE_SOCKS5 with str user/pass raised TypeError

  • version update to 0.13.1 0.13.1

  • Python3: Use no_proxy https://github.com/httplib2/httplib2/pull/140 0.13.0
    • Allow setting TLS max/min versions https://github.com/httplib2/httplib2/pull/138 0.12.3
    • No changes to library. Distribute py3 wheels. 0.12.1
    • Catch socket timeouts and clear dead connection https://github.com/httplib2/httplib2/issues/18 https://github.com/httplib2/httplib2/pull/111
    • Officially support Python 3.7 (package metadata) https://github.com/httplib2/httplib2/issues/123 0.12.0
    • Drop support for Python 3.3
    • ca_certs from environment HTTPLIB2_CA_CERTS or certifi https://github.com/httplib2/httplib2/pull/117
    • PROXY_TYPE_HTTP with non-empty user/pass raised TypeError: bytes required https://github.com/httplib2/httplib2/pull/115
    • Revert http:443->https workaround https://github.com/httplib2/httplib2/issues/112
    • eliminate connection pool read race https://github.com/httplib2/httplib2/pull/110
    • cache: stronger safename https://github.com/httplib2/httplib2/pull/101 0.11.3
    • No changes, just reupload of 0.11.2 after fixing automatic release conditions in Travis. 0.11.2
    • proxy: py3 NameError basestring https://github.com/httplib2/httplib2/pull/100 0.11.1
    • Fix HTTP(S)ConnectionWithTimeout AttributeError proxy_info https://github.com/httplib2/httplib2/pull/97 0.11.0
    • Add DigiCert Global Root G2 serial 033af1e6a711a9a0bb2864b11d09fae5 https://github.com/httplib2/httplib2/pull/91
    • python3 proxy support https://github.com/httplib2/httplib2/pull/90
    • If no_proxy environment value ends with comma then proxy is not used https://github.com/httplib2/httplib2/issues/11
    • fix UnicodeDecodeError using socks5 proxy https://github.com/httplib2/httplib2/pull/64
    • Respect NO_PROXY env var in proxy_info_from_url https://github.com/httplib2/httplib2/pull/58
    • NO_PROXY=bar was matching foobar (suffix without dot delimiter) New behavior matches curl/wget:
    • no_proxy=foo.bar will only skip proxy for exact hostname match
    • no_proxy=.wild.card will skip proxy for any.subdomains.wild.card https://github.com/httplib2/httplib2/issues/94
    • Bugfix for Content-Encoding: deflate https://stackoverflow.com/a/22311297
  • deleted patches httplib2 started to use certifi and this is already bent to use system certificate bundle.

  • handle the case when validation is disabled correctly. The 'check_hostname' context attribute has to be set first, othewise a "ValueError: Cannot set verify_mode to CERT_NONE when check_hostname is enabled." exception is raised.

  • handle the case with ssl_version being None correctly

  • Use ssl.create_default_context in the python2 case so that the system wide certificates are loaded as trusted again.

  • Source url must be https.

  • Spec file cleanups

  • Update to 0.10.3

  • Fix certificate validation on Python<=2.7.8 without ssl.CertificateError
  • Update to 0.10.2
  • Just a reupload of 0.10.1, which was broken for Python3 because wheel distribution doesn't play well with our 2/3 split code base.
  • Update to 0.10.1
  • Remove VeriSign Class 3 CA from trusted certs
  • Add IdenTrust DST Root CA X3
  • Support for specifying the SSL protocol version (Python v2)
  • On App Engine use urlfetch's default deadline if None is passed.
  • Fix TypeError on AppEngine “init() got an unexpected keyword argument 'ssl_version’”
  • Send SNI data for SSL connections on Python 2.7.9+
  • Verify the server hostname if certificate validation is enabled
  • Add proxy_headers argument to ProxyInfo constructor
  • Make disable_ssl_certificate_validation work with Python 3.5.
  • Fix socket error handling
  • Remove httplib2-bnc-818100.patch, merged upstream.

  • Project moved from code.google.com to GitHub, fix the url accordingly

  • attempt to build multi-python

  • update and cleanup of httplib2-use-system-certs.patch, so that the passthrough is clean for python2 and so that it does the right thing in python3

Patch Instructions:

To install this SUSE update use the SUSE recommended installation methods like YaST online_update or "zypper patch".
Alternatively you can run the command listed for your product:

  • SUSE OpenStack Cloud 7
    zypper in -t patch SUSE-OpenStack-Cloud-7-2021-1807=1
  • Public Cloud Module 12
    zypper in -t patch SUSE-SLE-Module-Public-Cloud-12-2021-1807=1

Package List:

  • SUSE OpenStack Cloud 7 (noarch)
    • python-httplib2-0.19.0-7.7.1
  • Public Cloud Module 12 (noarch)
    • python-httplib2-0.19.0-7.7.1

References: