@@ -1380,6 +1380,10 @@ Supported protocols are indicated by several new flags, such as
13801380:data: `~ssl.HAS_TLSv1_1 `.
13811381(Contributed by Christian Heimes in :issue: `32609 `.)
13821382
1383+ Added :attr: `ssl.SSLContext.post_handshake_auth ` to enable and
1384+ :meth: `ssl.SSLSocket.verify_client_post_handshake ` to initiate TLS 1.3
1385+ post-handshake authentication.
1386+ (Contributed by Christian Heimes in :gh: `78851 `.)
13831387
13841388string
13851389------
@@ -1599,6 +1603,15 @@ at the interactive prompt. See :ref:`whatsnew37-pep565` for details.
15991603(Contributed by Nick Coghlan in :issue: `31975 `.)
16001604
16011605
1606+ xml
1607+ ---
1608+
1609+ As mitigation against DTD and external entity retrieval, the
1610+ :mod: `xml.dom.minidom ` and :mod: `xml.sax ` modules no longer process
1611+ external entities by default.
1612+ (Contributed by Christian Heimes in :gh: `61441 `.)
1613+
1614+
16021615xml.etree
16031616---------
16041617
@@ -2571,3 +2584,34 @@ separator key, with ``&`` as the default. This change also affects
25712584functions internally. For more details, please see their respective
25722585documentation.
25732586(Contributed by Adam Goldschmidt, Senthil Kumaran and Ken Jin in :issue: `42967 `.)
2587+
2588+ Notable changes in Python 3.7.11
2589+ ================================
2590+
2591+ A security fix alters the :class: `ftplib.FTP ` behavior to not trust the
2592+ IPv4 address sent from the remote server when setting up a passive data
2593+ channel. We reuse the ftp server IP address instead. For unusual code
2594+ requiring the old behavior, set a ``trust_server_pasv_ipv4_address ``
2595+ attribute on your FTP instance to ``True ``. (See :gh: `87451 `)
2596+
2597+
2598+ The presence of newline or tab characters in parts of a URL allows for some
2599+ forms of attacks. Following the WHATWG specification that updates RFC 3986,
2600+ ASCII newline ``\n ``, ``\r `` and tab ``\t `` characters are stripped from the
2601+ URL by the parser :func: `urllib.parse ` preventing such attacks. The removal
2602+ characters are controlled by a new module level variable
2603+ ``urllib.parse._UNSAFE_URL_BYTES_TO_REMOVE ``. (See :gh: `88048 `)
2604+
2605+ Notable security feature in 3.7.14
2606+ ==================================
2607+
2608+ Converting between :class: `int ` and :class: `str ` in bases other than 2
2609+ (binary), 4, 8 (octal), 16 (hexadecimal), or 32 such as base 10 (decimal)
2610+ now raises a :exc: `ValueError ` if the number of digits in string form is
2611+ above a limit to avoid potential denial of service attacks due to the
2612+ algorithmic complexity. This is a mitigation for `CVE-2020-10735
2613+ <https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-10735> `_.
2614+ This limit can be configured or disabled by environment variable, command
2615+ line flag, or :mod: `sys ` APIs. See the :ref: `integer string conversion
2616+ length limitation <int_max_str_digits>` documentation. The default limit
2617+ is 4300 digits in string form.
0 commit comments