Re: [LFS Trac] #5952: Python3-3.14.6
"LFS Trac" ([email protected] via lfs-book Mailing List) <[email protected]> Thu, 11 Jun 2026 18:25:42 -0000
| Newsgroups | gmane.linux.lfs.book |
|---|---|
| Message-ID | <[email protected]> |
#5952: Python3-3.14.6
-------------------------+-----------------------
Reporter: Bruce Dubbs | Owner: lfs-book
Type: enhancement | Status: new
Priority: high | Milestone: 13.1
Component: Book | Version: git
Severity: normal | Resolution:
Keywords: |
-------------------------+-----------------------
Changes (by Joe Locash):
* priority: normal => high
Comment:
{{{
Python 3.14.6 final
Release date: 2026-06-10
Security
gh-151159: Update Android and iOS installers to use OpenSSL 3.5.7.
gh-150599: Fix a possible stack buffer overflow in bz2 when a
bz2.BZ2Decompressor is reused after a decompression error. The
decompressor now becomes unusable after libbz2 reports an error.
gh-149835: shutil.move() now resolves symlinks via os.path.realpath()
when checking whether the destination is inside the source directory,
preventing a symlink-based bypass of that guard.
gh-149698: Update bundled libexpat to version 2.8.1 for the fix for
CVE 2026-45186.
gh-87451: The ftplib module’s undocumented ftpcp function no longer
trusts the IPv4 address value returned from the source server in response
to the PASV command by default, completing the fix for CVE-2021-4189. As
with ftplib.FTP, the former behavior can be re-enabled by setting the
trust_server_pasv_ipv4_address attribute on the source ftplib.FTP instance
to True. Thanks to Qi Deng at Aurascape AI for the report.
gh-149486: tarfile.data_filter() now validates link targets using the
same normalised value that is written to disk, strips trailing separators
from the member name when resolving a symlink’s directory, and rejects
link members that would replace the destination directory itself. This
closes several path-traversal bypasses of the data extraction filter.
gh-149079: Fix a potential denial of service in
unicodedata.normalize(). The canonical ordering step of Unicode
normalization used a quadratic-time insertion sort for reordering
combining characters, which could be exploited with crafted input
containing many combining characters in non-canonical order. Replaced with
a linear-time counting sort for long runs.
gh-149018: Improved protection against XML hash-flooding attacks in
xml.parsers.expat and xml.etree.ElementTree when Python is compiled with
libExpat 2.8.0 or later.
Core and Builtins
gh-151112: Fix a crash in the compiler that could occur when running
out of memory.
gh-151126: Fix a crash, when there’s no memory left on a device, which
happened in:
code compilation - _winapi.CreateProcess()
Now these places raise proper MemoryError errors.
gh-150700: Fix a SystemError when compiling a class-scope
comprehension containing a lambda that references __class__,
__classdict__, or __conditional_annotations__. Patch by Bartosz Sławecki.
gh-150633: Fix the frozen importer accepting module names with
embedded null bytes, which caused it to bypass the sys.modules cache and
create duplicate module objects.
gh-148613: Fix a data race in the free-threaded build between
gc.set_threshold() and garbage collection scheduling during object
allocation.
gh-149156: Fix an intermittent crash after os.fork() when perf
trampoline profiling is enabled and the child returns through trampoline
frames inherited from the parent process.
gh-149449: Fix a use-after-free crash when the unicodedata module was
removed from sys.modules and garbage-collected between calls that decode
\N{...} escapes or use the namereplace codec error handler.
gh-150207: Fix a crash when a memory allocation fails during tokenizer
initialization. A proper MemoryError is now raised instead.
gh-150107: asyncio: sendfile() and sock_sendfile() event loop methods
now call file.seek(offset) if file has a seek() method, even if offset is
0 (default value).
gh-150146: Fix a crash on a complex type variable substitution.
from typing import TypeVar;
memoryview[TypeVar("")][*typing.Mapping[..., ...]] used to fail due to
missing NULL check on _unpack_args C function call.
gh-149590: Fix crash when faulthandler is imported more than once.
gh-149816: Fix a race condition in _PyBytes_FromList in free-threading
mode.
gh-149816: Fix a race condition in memoryview with free-threading.
gh-149805: Fix a SystemError when compiling a compiling __classdict__
class annotation. Found by OSS-Fuzz in #512907042.
gh-149738: sqlite3: Disallow removing row_factory and text_factory
attributes of a connection to prevent a crash on a query.
gh-139808: Add branch protections for AArch64 (BTI/PAC) in assembly
code used by -X perf_jit (Linux perf profiler integration).
gh-148450: Fix abc.register() so it invalidates type version tags for
registered classes.
Library
gh-151039: Fix a crash when static datetime types outlive the
_datetime module.
gh-150913: Fix sqlite3.Blob slice assignment to raise TypeError and
IndexError for type and size mismatches respectively, even when the target
slice is empty.
gh-143008: Fix race conditions when re-initializing a io.TextIOWrapper
object.
gh-150750: Fix a race condition in collections.deque.index() with
free-threading.
gh-150685: Update bundled pip to 26.1.2
gh-150406: Fix a possible crash occurring during socket module
initialization when the system is out of memory on platforms without a
reentrant gethostbyname.
gh-150372: readline: Fix a potential crash during tab completion
caused by an out-of-memory error during module initialization.
gh-150157: Fix a crash in free-threaded builds that occurs when
pickling by name objects without a __module__ attribute while sys.modules
is concurrently being modified.
gh-150175: Fix race condition in unittest.mock.ThreadingMock where
concurrent calls could lose increments to call_count and other attributes
due to a missing lock in _increment_mock_call.
gh-84353: Preserve non-UTF-8 encoded filenames when appending to a
zipfile.ZipFile. Previously, non-ASCII names stored in a legacy encoding
(without the UTF-8 flag bit set) could be corrupted when the central
directory was rewritten: they were decoded as cp437 and then re-stored as
UTF-8.
gh-149816: Fix race condition in ssl.SSLContext.sni_callback
gh-149995: Update various docstrings in typing.
gh-88726: The email package now uses standard MIME charset names
“gb2312” and “big5” instead of non-standard names “eucgb2312_cn” and
“big5_tw”.
gh-149571: Fix the C implementation of
xml.etree.ElementTree.Element.itertext(): it no longer emits text for
comments and processing instructions.
gh-149921: Fix reference leaks in error paths of the _interpchannels
and _interpqueues extension modules.
gh-149816: Fix a race condition in _random.Random.__init__ method in
free-threading mode.
gh-149801: Add IANA registered names and aliases with leading zeros
before number (like IBM00858, CP00858, IBM01140, CP01140) for
corresponding codecs.
gh-149701: Fix bad return code from Lib/venv/bin/activate if hashing
is disabled
gh-112821: In the REPL, autocompletion might run arbitrary code in the
getter of a descriptor. If that getter raised an exception, autocompletion
would fail to present any options for the entire object. Autocompletion
now works as expected for these objects.
gh-149489: Fix ElementTree serialization to HTML. The content of
elements “xmp”, “iframe”, “noembed”, “noframes”, and “plaintext” is no
longer escaped. The “plaintext” element no longer have the closing tag.
gh-149231: In tomllib, the number of parts in TOML keys is now limited
gh-149046: io: Fix io.StringIO serialization: no longer call str(obj)
on str subclasses. Patch by Thomas Kowalski.
gh-148954: Fix XML injection vulnerability in xmlrpc.client.dumps()
where the methodname was not being escaped before interpolation into the
XML body.
gh-148441: xml.parsers.expat: prevent a crash in
CharacterDataHandler() when the character data size exceeds the parser’s
buffer size.
gh-146452: Fix segfault in pickle when pickling a dictionary
concurrently mutated by another thread in the free-threaded build.
gh-142831: Fix a crash in the json module where a use-after-free could
occur if the object being encoded is modified during serialization.
gh-90949: Add SetBillionLaughsAttackProtectionActivationThreshold()
and SetBillionLaughsAttackProtectionMaximumAmplification() to xmlparser
objects to tune protections against billion laughs attacks. Patch by
Bénédikt Tran.
gh-134261: zip: On reproducible builds, ZipFile uses UTC instead of
the local time when writing file datetimes to avoid underflows.
gh-128110: Fix bug in the parsing of email address headers that could
result in extraneous spaces in the decoded text when using a modern email
policy. Space between pairs of adjacent RFC 2047 encoded-words is now
ignored, per section 6.2 (and consistent with existing parsing of
unstructured headers like Subject).
gh-107398: Fix tarfile stream mode exception when process the file
with the gzip extra field.
gh-123853: Update the table of Windows language code identifiers
(LCIDs) used by locale.getdefaultlocale() on Windows to protocol version
16.0 (2024-04-23).
gh-91099: imaplib.IMAP4.login() now raises exceptions with str instead
of bytes. Patch by Florian Best.
Documentation
gh-150319: Generic builtin and standard library types now document the
meaning of their type parameters.
gh-109503: Fix documentation for shutil.move() on usage of os.rename()
since nonatomic move might be used even if the files are on the same
filesystem. Patch by Fang Li
Tests
gh-151130: Add more tests for PyWeakref_* C API.
gh-149776: Fix test_socket on Linux kernel 7.1 and newer: skip UDP
Lite tests if it’s not supported. Patch by Victor Stinner.
Build
gh-148294: Corrected the use of AC_PATH_TOOL in configure.ac to allow
a C++ compiler to be found on PATH.
Windows
gh-151159: Updated bundled version of OpenSSL to 3.5.7.
macOS
gh-151159: Update macOS installer to use OpenSSL 3.5.7.
gh-150644: When system logging is enabled (with
config.use_system_logger, messages are now tagged as public. This allows
the macOS 26 system logger to view messages without special configuration.
gh-115119: Update macOS installer to use libmpdecimal 4.0.1.
IDLE
bpo-6699: Warn the user if a file will be overwritten when saving.
C API
gh-150907: Fix dynamic_annotations.h header file when built with C++
and Valgrind: add extern "C++" scope for the C++ template. Patch by Victor
Stinner.
gh-145235: Made PyDict_AddWatcher(), PyDict_ClearWatcher(),
PyDict_Watch(), and PyDict_Unwatch() thread-safe on the free threaded
build.
}}}
gh-149486 was assigned CVE-2026-7774.
gh-149079 was assigned CVE-2026-3276.
pip-26.1.2 fixes CVE-2026-8643.
--
Ticket URL: <https://wiki.linuxfromscratch.org/lfs/ticket/5952#comment:1>
LFS Trac <https://wiki.linuxfromscratch.org/lfs/>
Linux From Scratch: Your Distro, Your Rules.
--
http://lists.linuxfromscratch.org/sympa/info/lfs-book
Unsubscribe: See the above information page