Skip to content
Permalink
3.7

Commits on Sep 4, 2021

  1. Post release updates

    ned-deily committed Sep 4, 2021
  2. 3.7.12

    ned-deily committed Sep 4, 2021

Commits on Aug 31, 2021

  1. [3.7] bpo-44394: Update libexpat copy to 2.4.1 (GH-26945) (GH-28042)

    Update the vendored copy of libexpat to 2.4.1 (from 2.2.8) to get the
    fix for the CVE-2013-0340 "Billion Laughs" vulnerability. This copy
    is most used on Windows and macOS.
    
    Co-authored-by: Victor Stinner <vstinner@python.org>
    
    Co-authored-by: Łukasz Langa <lukasz@langa.pl>.
    (cherry picked from commit 3fc5d84)
    ambv committed Aug 31, 2021

Commits on Aug 30, 2021

  1. [3.7] bpo-43124: Fix smtplib multiple CRLF injection (GH-25987) (GH-2…

    …8037)
    
    Co-authored-by: Miguel Brito <5544985+miguendes@users.noreply.github.com>
    
    Co-authored-by: Łukasz Langa <lukasz@langa.pl>
    (cherry picked from commit 0897253)
    miss-islington committed Aug 30, 2021
  2. bpo-45001: Make email date parsing more robust against malformed input (

    GH-27946) (GH-27975)
    
    Various date parsing utilities in the email module, such as
    email.utils.parsedate(), are supposed to gracefully handle invalid
    input, typically by raising an appropriate exception or by returning
    None.
    
    The internal email._parseaddr._parsedate_tz() helper used by some of
    these date parsing routines tries to be robust against malformed input,
    but unfortunately it can still crash ungracefully when a non-empty but
    whitespace-only input is passed. This manifests as an unexpected
    IndexError.
    
    In practice, this can happen when parsing an email with only a newline
    inside a ‘Date:’ header, which unfortunately happens occasionally in the
    real world.
    
    Here's a minimal example:
    
        $ python
        Python 3.9.6 (default, Jun 30 2021, 10:22:16)
        [GCC 11.1.0] on linux
        Type "help", "copyright", "credits" or "license" for more information.
        >>> import email.utils
        >>> email.utils.parsedate('foo')
        >>> email.utils.parsedate(' ')
        Traceback (most recent call last):
          File "<stdin>", line 1, in <module>
          File "/usr/lib/python3.9/email/_parseaddr.py", line 176, in parsedate
            t = parsedate_tz(data)
          File "/usr/lib/python3.9/email/_parseaddr.py", line 50, in parsedate_tz
            res = _parsedate_tz(data)
          File "/usr/lib/python3.9/email/_parseaddr.py", line 72, in _parsedate_tz
            if data[0].endswith(',') or data[0].lower() in _daynames:
        IndexError: list index out of range
    
    The fix is rather straight-forward: guard against empty lists, after
    splitting on whitespace, but before accessing the first element.
    (cherry picked from commit 989f6a3)
    
    Co-authored-by: wouter bolsterlee <wouter@bolsterl.ee>
    miss-islington and wbolster committed Aug 30, 2021

Commits on Jul 5, 2021

Commits on Jun 28, 2021

  1. Post release updates

    ned-deily committed Jun 28, 2021
  2. 3.7.11

    ned-deily committed Jun 28, 2021

Commits on Jun 3, 2021

  1. bpo-44022: Improve the regression test. (GH-26503) (GH-26507)

    It wasn't actually detecting the regression due to the
    assertion being too lenient.
    (cherry picked from commit e60ab84)
    
    Co-authored-by: Gregory P. Smith <greg@krypto.org>
    miss-islington and gpshead committed Jun 3, 2021

Commits on May 20, 2021

  1. [3.7] bpo-43882 - Mention urllib.parse changes in Whats New section f…

    …or 3.7.11 (GH-26267)
    
    Co-authored-by: Gregory P. Smith <greg@krypto.org>
    orsenthil and gpshead committed May 20, 2021

Commits on May 6, 2021

  1. bpo-44022: Fix http client infinite line reading (DoS) after a HTTP 1…

    …00 Continue (GH-25916) (GH-25934)
    
    Fixes http.client potential denial of service where it could get stuck reading lines from a malicious server after a 100 Continue response.
    
    Co-authored-by: Gregory P. Smith <greg@krypto.org>
    (cherry picked from commit 47895e3)
    
    Co-authored-by: Gen Xu <xgbarry@gmail.com>
    miss-islington and gen-xu committed May 6, 2021
  2. [3.7] bpo-43882 - urllib.parse should sanitize urls containing ASCII …

    …newline and tabs. (GH-25923)
    
    Co-authored-by: Gregory P. Smith <greg@krypto.org>
    Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
    (cherry picked from commit 76cd81d)
    Co-authored-by: Senthil Kumaran <senthil@uthcode.com>
    (cherry picked from commit 515a7bc)
    
    Co-authored-by: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
    miss-islington committed May 6, 2021

Commits on May 4, 2021

  1. bpo-43075: Fix ReDoS in urllib AbstractBasicAuthHandler (GH-24391) (#…

    …25249)
    
    Fix Regular Expression Denial of Service (ReDoS) vulnerability in
    urllib.request.AbstractBasicAuthHandler. The ReDoS-vulnerable regex
    has quadratic worst-case complexity and it allows cause a denial of
    service when identifying crafted invalid RFCs. This ReDoS issue is on
    the client side and needs remote attackers to control the HTTP server.
    (cherry picked from commit 7215d1a)
    
    Co-authored-by: Yeting Li <liyt@ios.ac.cn>
    miss-islington and yetingli committed May 4, 2021

Commits on May 3, 2021

  1. bpo-41561: Fix testing with OpenSSL 1.0.2 (GH-25355) (GH-25858)

    Signed-off-by: Christian Heimes <christian@python.org>
    (cherry picked from commit 3447750)
    
    Co-authored-by: Christian Heimes <christian@python.org>
    miss-islington and tiran committed May 3, 2021
  2. [3.7] bpo-41561: Add workaround for Ubuntu's custom security level (G…

    …H-24915) (GH-24928)
    
    Ubuntu 20.04 comes with a patched OpenSSL 1.1.1. Default security level
    2 blocks TLS 1.0 and 1.1 connections. Regular OpenSSL 1.1.1 builds allow
    TLS 1.0 and 1.1 on security level 2.
    
    See:
    See: https://bugs.launchpad.net/ubuntu/+source/openssl/+bug/1899878
    See: https://bugs.launchpad.net/ubuntu/+source/openssl/+bug/1917625
    Signed-off-by: Christian Heimes <christian@python.org>.
    (cherry picked from commit f6c6b58)
    
    Co-authored-by: Christian Heimes <christian@python.org>
    tiran committed May 3, 2021

Commits on Mar 29, 2021

  1. [3.7] bpo-43660: Fix crash when displaying exceptions with custom val…

    …ues for sys.stderr (GH-25075). (GH-25085)
    
    (cherry picked from commit 09b90a0)
    
    Co-authored-by: Pablo Galindo <Pablogsal@gmail.com>
    pablogsal committed Mar 29, 2021
  2. bpo-42988: Remove the pydoc getfile feature (GH-25015) (#25066)

    CVE-2021-3426: Remove the "getfile" feature of the pydoc module which
    could be abused to read arbitrary files on the disk (directory
    traversal vulnerability). Moreover, even source code of Python
    modules can contain sensitive data like passwords. Vulnerability
    reported by David Schwörer.
    (cherry picked from commit 9b99947)
    
    Co-authored-by: Victor Stinner <vstinner@python.org>
    
    Co-authored-by: Victor Stinner <vstinner@python.org>
    miss-islington and vstinner committed Mar 29, 2021

Commits on Mar 16, 2021

  1. [3.7] bpo-43285 Make ftplib not trust the PASV response. (GH-24838) (G…

    …H-24881) (GH-24883)
    
    The IPv4 address value returned from the server in response to the PASV command
    should not be trusted.  This prevents a malicious FTP server from using the
    response to probe IPv4 address and port combinations on the client network.
    
    Instead of using the returned address, we use the IP address we're
    already connected to.  This is the strategy other ftp clients adopted,
    and matches the only strategy available for the modern IPv6 EPSV command
    where the server response must return a port number and nothing else.
    
    For the rare user who _wants_ this ugly behavior, set a `trust_server_pasv_ipv4_address`
    attribute on your `ftplib.FTP` instance to True..
    (cherry picked from commit 0ab152c)
    
    Co-authored-by: Gregory P. Smith <greg@krypto.org>
    (cherry picked from commit 664d1d1)
    miss-islington committed Mar 16, 2021

Commits on Mar 3, 2021

  1. Pin test runner to Ubuntu 18 to un-break CI (GH-24715) (GH-24716)

    (cherry picked from commit 94894dd)
    
    Co-authored-by: Brandt Bucher <brandt@python.org>
    
    Co-authored-by: Brandt Bucher <brandt@python.org>
    miss-islington and brandtbucher committed Mar 3, 2021

Commits on Feb 26, 2021

  1. [3.7] bpo-43293: Doc: move note about GIL to top of threading module (G…

    …H-24622) (#24642)
    
    The note about the GIL was buried pretty deep in the threading documentation,
    and this made it hard for first time users to discover why their attempts
    at using threading to parallelizing their application did not work.
    
    In this commit, the note is moved to the top of the module documention for
    visibility..
    (cherry picked from commit 32181be)
    
    Co-authored-by: Guanzhong Chen <quantum2048@gmail.com>
    quantum5 committed Feb 26, 2021

Commits on Feb 16, 2021

  1. Post release updates

    ned-deily committed Feb 16, 2021
  2. 3.7.10

    ned-deily committed Feb 16, 2021
  3. Add a warning block around the get_referrers() documentation (GH-24511)…

    … (GH-24544)
    
    (cherry picked from commit 813db24)
    
    Co-authored-by: Pablo Galindo <Pablogsal@gmail.com>
    miss-islington and pablogsal committed Feb 16, 2021

Commits on Feb 15, 2021

  1. [3.7] bpo-42967: only use '&' as a query string separator (GH-24297) (G…

    …H-24531)
    
    bpo-42967: [security] Address a web cache-poisoning issue reported in
    urllib.parse.parse_qsl().
    
    urllib.parse will only us "&" as query string separator by default
    instead of both ";" and "&" as allowed in earlier versions. An optional
    argument seperator with default value "&" is added to specify the
    separator.
    
    Co-authored-by: Éric Araujo <merwok@netwok.org>
    Co-authored-by: Ken Jin <28750310+Fidget-Spinner@users.noreply.github.com>
    Co-authored-by: Adam Goldschmidt <adamgold7@gmail.com>
    (cherry picked from commit fcbe0cb)
    orsenthil committed Feb 15, 2021

Commits on Jan 18, 2021

  1. [3.7] closes bpo-42938: Replace snprintf with Python unicode formatti…

    …ng in ctypes param reprs. (GH-24249)
    
    (cherry picked from commit 916610e)
    
    Co-authored-by: Benjamin Peterson <benjamin@python.org>
    benjaminp committed Jan 18, 2021

Commits on Jan 1, 2021

  1. Bring Python into the new year. (GH-24036) (GH-24052)

    (cherry picked from commit de6f20a)
    
    Co-authored-by: Dong-hee Na <donghee.na@python.org>
    miss-islington and corona10 committed Jan 1, 2021
  2. bpo-42794: Update test_nntplib to use offical group name for testing (G…

    …H-24037) (GH-24041)
    
    (cherry picked from commit ec31653)
    
    Co-authored-by: Dong-hee Na <donghee.na@python.org>
    miss-islington and corona10 committed Jan 1, 2021

Commits on Dec 18, 2020

  1. bpo-17140: Document multiprocessing's ThreadPool (GH-23812) (GH-23836)

    Up until now, the `multiprocessing.pool.ThreadPool` class has gone
    undocumented, despite being a public class in multiprocessing that is
    included in `multiprocessing.pool.__all__`.
    (cherry picked from commit 84ebcf2)
    
    Co-authored-by: Matt Wozniski <mwozniski@bloomberg.net>
    miss-islington and godlygeek committed Dec 18, 2020

Commits on Dec 1, 2020

  1. [3.7] Bumps [actions/cache](https://github.com/actions/cache) from v1…

    … to v2.1.3. (GH-23596)
    
    * build(deps): bump actions/cache from v2.1.2 to v2.1.3 (23582)
    
    Bumps [actions/cache](https://github.com/actions/cache) from v2.1.2 to v2.1.3.
    - [Release notes](https://github.com/actions/cache/releases)
    - [Commits](actions/cache@v2.1.2...0781355)
    
    Signed-off-by: dependabot[bot] <support@github.com>
    
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    (cherry picked from commit a43fea8)
    
    * [3.7] build(deps): bump actions/cache from v2.1.2 to v2.1.3 (23582)
    
    Bumps [actions/cache](https://github.com/actions/cache) from v2.1.2 to v2.1.3.
    - [Release notes](https://github.com/actions/cache/releases)
    - [Commits](actions/cache@v2.1.2...0781355)
    
    Signed-off-by: dependabot[bot] <support@github.com>
    
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>.
    (cherry picked from commit a43fea8)
    
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    benjaminp and dependabot committed Dec 1, 2020

Commits on Nov 22, 2020

  1. bpo-40791: Make compare_digest more constant-time. (GH-23438)

    The existing volatile `left`/`right` pointers guarantee that the reads will all occur, but does not guarantee that they will be _used_. So a compiler can still short-circuit the loop, saving e.g. the overhead of doing the xors and especially the overhead of the data dependency between `result` and the reads. That would change performance depending on where the first unequal byte occurs. This change removes that optimization.
    
    (This is change GH-1 from https://bugs.python.org/issue40791 .)
    (cherry picked from commit 3172936)
    
    Co-authored-by: Devin Jeanpierre <jeanpierreda@google.com>
    miss-islington and ssbr committed Nov 22, 2020

Commits on Nov 18, 2020

  1. [3.7] bpo-42336: Improve PCbuild batch files (GH-23325) (GH-23373)

    * bpo-42336: Improve PCbuild batch files (GH-23325)
    
    * Remove ARM platforms
    zooba committed Nov 18, 2020

Commits on Nov 10, 2020

  1. [3.7] bpo-42103: Improve validation of Plist files. (GH-22882) (#23117)

    * Prevent some possible DoS attacks via providing invalid Plist files
      with extremely large number of objects or collection sizes.
    * Raise InvalidFileException for too large bytes and string size instead of returning garbage.
    * Raise InvalidFileException instead of ValueError for specific invalid datetime (NaN).
    * Raise InvalidFileException instead of TypeError for non-hashable dict keys.
    * Add more tests for invalid Plist files..
    (cherry picked from commit 34637a0)
    
    Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
    serhiy-storchaka committed Nov 10, 2020

Commits on Oct 22, 2020

Older