This update for python311 fixes the following issues:
Update to 3.11.12:
gh-105704: When using urllib.parse.urlsplit() and urllib.parse.urlparse() host parsing would not reject domain names containing square brackets ([ and ]). Square brackets are only valid for IPv6 and IPvFuture hosts according to RFC 3986 Section 3.2.2 (bsc#1236705, CVE-2025-0938, gh#python/cpython#105704).
gh-121284: Fix bug in the folding of rfc2047 encoded-words when flattening an email message using a modern email policy. Previously when an encoded-word was too long for a line, it would be decoded, split across lines, and re-encoded. But commas and other special characters in the original text could be left unencoded and unquoted. This could theoretically be used to spoof header lines using a carefully constructed encoded-word if the resulting rendered email was transmitted or re-parsed.
gh-80222: Fix bug in the folding of quoted strings when flattening an email message using a modern email policy. Previously when a quoted string was folded so that it spanned more than one line, the surrounding quotes and internal escapes would be omitted. This could theoretically be used to spoof header lines using a carefully constructed quoted string if the resulting rendered email was transmitted or re-parsed.
gh-119511: Fix a potential denial of service in the imaplib module. When connecting to a malicious server, it could cause an arbitrary amount of memory to be allocated. On many systems this is harmless as unused virtual memory is only a mapping, but if this hit a virtual address size limit it could lead to a MemoryError or other process crash. On unusual systems or builds where all allocated memory is touched and backed by actual ram or storage it could’ve consumed resources doing so until similarly crashing.
gh-127257: In ssl, system call failures that OpenSSL reports using ERR_LIB_SYS are now raised as OSError.
gh-121277: Writers of CPython’s documentation can now use next as the version for the versionchanged, versionadded, deprecated directives.
gh-106883: Disable GC during the _PyThread_CurrentFrames() and _PyThread_CurrentExceptions() calls to avoid the interpreter to deadlock.
CVE-2025-0938: disallow square brackets ([ and ]) in domain names for parsed URLs (bsc#1236705, gh#python/cpython#105704)
Update to 3.11.11:
Tools/Demos
Security
Library
Remove -IVendor/ from python-config bsc#1231795
CVE-2024-9287: Properly quote path names provided when creating a virtual environment (bsc#1232241,
Drop .pyc files from docdir for reproducible builds (bsc#1230906).
Update to 3.11.10:
Security
python -i,
as well as for python -m asyncio. The event in question
is cpython.run_stdin.socket.socketpair() fallback on platforms where
AF_UNIX is not available like Windows. Patch by
Gregory P. Smith greg@krypto.org and Seth Larson
seth@python.org. Reported by Ellie el@horse64.orghdrcharset, PAX, and GNU sparse headers
(bsc#1230227, CVE-2024-6232).os.mkdir on Windows now accepts
mode of 0o700 to restrict the new directory to
the current user. This fixes CVE-2024-4030 affecting
:func:tempfile.mkdtemp in scenarios where the base
temporary directory is more permissive than the default.Library
zipfile.Path causing infinite loops
(gh-122905) without breaking contents using legitimate
characters (bsc#1229704, CVE-2024-8088)."-quoted
cookie values with backslashes by :mod:http.cookies
(bsc#1229596, CVE-2024-7592).zipfile.Path objects now sanitize names
from the zipfile.email headers with embedded newlines are
now quoted on output. The :mod:~email.generator will now
refuse to serialize (write) headers that are unsafely folded
or delimited; see :attr:~email.policy.Policy.verify_generated_headers.
(Contributed by Bas Bloemsaat and Petr Viktorin in
:gh:121650; CVE-2024-6923, bsc#1228780).!io.TextIOWrapper.write method
breaks internal buffer when the method is called again
during flushing internal buffer.email module
when re-fold a long address list. Also fix more cases of
incorrect encoding of the address separator in the address
list.ipaddress.IPv4Address.is_private
(see these docs for details) *
:attr:ipaddress.IPv4Address.is_global *
:attr:ipaddress.IPv6Address.is_private *
:attr:ipaddress.IPv6Address.is_global Also in the
corresponding :class:ipaddress.IPv4Network and
:class:ipaddress.IPv6Network attributes.
Fixes bsc#1226448 (CVE-2024-4032).email.utils.getaddresses and
:func:email.utils.parseaddr now return ('', '')
2-tuples in more situations where invalid email addresses
are encountered instead of potentially inaccurate
values. Add optional strict parameter to these two
functions: use strict=False to get the old behavior,
accept malformed inputs. getattr(email.utils, 'supports_strict_parsing', False) can be use to check if
the strict paramater is available. Patch by Thomas Dwyer
and Victor Stinner to improve the CVE-2023-27043 fix
(bsc#1210638).urllib.parse.urlunparse and
:func:urllib.parse.urlunsplit for URIs with path starting
with multiple slashes and no authority. Based on patch by
Ashwin Ramaswami.Core and Builtins
pystate.c's
HEAD_LOCK in posixmodule.c at fork is now
fixed. Patch by ChuBoning based on previous Python 3.12 fix
by Victor Stinner.f(3, *). Patch by Grigoryev SemyonCVE-2024-8088: Prevent malformed payload to cause infinite loops in zipfile.Path (bsc#1229704)
Make pip and modern tools install directly in /usr/local when used by the user. (bsc#1225660)
CVE-2024-4032: Fix rearranging definition of private v global IP addresses. (bsc#1226448)
Update to 3.11.9:
Security
Core and Builtins
Library
Documentation
IDLE
Tools/Demos
C API