python3.12-3.12.13-2.el8_10
エラータID: AXSA:2026-523:13
Python is an interpreted, interactive, object-oriented programming language, which includes modules, classes, exceptions, very high level dynamic data types and dynamic typing. Python supports interfaces to many system calls and libraries, as well as to various windowing systems.
Security Fix(es):
* expat: libexpat in Expat allows attackers to trigger large dynamic memory allocations via a small document that is submitted for parsing (CVE-2025-59375)
* python: Quadratic complexity in os.path.expandvars() with user-controlled template (CVE-2025-6075)
* cpython: Out-of-memory when loading Plist (CVE-2025-13837)
* cpython: Header injection via newlines in data URL mediatype in Python (CVE-2025-15282)
* cpython: Header injection in http.cookies.Morsel in Python (CVE-2026-0672)
* cpython: CPython: Logging Bypass in Legacy .pyc File Handling (CVE-2026-2297)
* cpython: Incomplete control character validation in http.cookies (CVE-2026-3644)
* cpython: Stack overflow parsing XML with deeply nested DTD content models (CVE-2026-4224)
* python: Python: HTTP header injection via CR/LF in proxy tunnel headers (CVE-2026-1502)
* python: Python: Arbitrary code execution or information disclosure via use-after-free in decompression modules (CVE-2026-6100)
* python: cpython: Python: Arbitrary code execution via command injection in webbrowser.open() API (CVE-2026-4786)
For more details about the security issue(s), including the impact, a CVSS score, acknowledgments, and other related information, refer to the CVE page(s) listed in the References section.
CVE-2025-13837
When loading a plist file, the plistlib module reads data in size specified by the file itself, meaning a malicious file can cause OOM and DoS issues
CVE-2025-15282
User-controlled data URLs parsed by urllib.request.DataHandler allow injecting headers through newlines in the data URL mediatype.
CVE-2025-59375
libexpat in Expat before 2.7.2 allows attackers to trigger large dynamic memory allocations via a small document that is submitted for parsing.
CVE-2025-6075
If the value passed to os.path.expandvars() is user-controlled a performance degradation is possible when expanding environment variables.
CVE-2026-0672
When using http.cookies.Morsel, user-controlled cookie values and parameters can allow injecting HTTP headers into messages. Patch rejects all control characters within cookie names, values, and parameters.
CVE-2026-1502
CR/LF bytes were not rejected by HTTP client proxy tunnel headers or host.
CVE-2026-2297
The import hook in CPython that handles legacy *.pyc files (SourcelessFileLoader) is incorrectly handled in FileLoader (a base class) and so does not use io.open_code() to read the .pyc files. sys.audit handlers for this audit event therefore do not fire.
CVE-2026-3644
The fix for CVE-2026-0672, which rejected control characters in http.cookies.Morsel, was incomplete. The Morsel.update(), |= operator, and unpickling paths were not patched, allowing control characters to bypass input validation. Additionally, BaseCookie.js_output() lacked the output validation applied to BaseCookie.output().
CVE-2026-4224
When an Expat parser with a registered ElementDeclHandler parses an inline document type definition containing a deeply nested content model a C stack overflow occurs.
CVE-2026-4786
Mitgation of CVE-2026-4519 was incomplete. If the URL contained "%action" the mitigation could be bypassed for certain browser types the "webbrowser.open()" API could have commands injected into the underlying shell. See CVE-2026-4519 for details.
CVE-2026-6100
Use-after-free (UAF) was possible in the `lzma.LZMADecompressor`, `bz2.BZ2Decompressor`, and `gzip.GzipFile` when a memory allocation fails with a `MemoryError` and the decompression instance is re-used. This scenario can be triggered if the process is under memory pressure. The fix cleans up the dangling pointer in this specific error condition. The vulnerability is only present if the program re-uses decompressor instances across multiple decompression calls even after a `MemoryError` is raised during decompression. Using the helper functions to one-shot decompress data such as `lzma.decompress()`, `bz2.decompress()`, `gzip.decompress()`, and `zlib.decompress()` are not affected as a new decompressor instance is used per call. If the decompressor instance is not re-used after an error condition, this usage is similarly not vulnerable.
Update packages.
When loading a plist file, the plistlib module reads data in size specified by the file itself, meaning a malicious file can cause OOM and DoS issues
User-controlled data URLs parsed by urllib.request.DataHandler allow injecting headers through newlines in the data URL mediatype.
libexpat in Expat before 2.7.2 allows attackers to trigger large dynamic memory allocations via a small document that is submitted for parsing.
If the value passed to os.path.expandvars() is user-controlled a performance degradation is possible when expanding environment variables.
When using http.cookies.Morsel, user-controlled cookie values and parameters can allow injecting HTTP headers into messages. Patch rejects all control characters within cookie names, values, and parameters.
The import hook in CPython that handles legacy *.pyc files (SourcelessFileLoader) is incorrectly handled in FileLoader (a base class) and so does not use io.open_code() to read the .pyc files. sys.audit handlers for this audit event therefore do not fire.
The fix for CVE-2026-0672, which rejected control characters in http.cookies.Morsel, was incomplete. The Morsel.update(), |= operator, and unpickling paths were not patched, allowing control characters to bypass input validation. Additionally, BaseCookie.js_output() lacked the output validation applied to BaseCookie.output().
When an Expat parser with a registered ElementDeclHandler parses an inline document type definition containing a deeply nested content model a C stack overflow occurs.
Mitgation of CVE-2026-4519 was incomplete. If the URL contained "%action" the mitigation could be bypassed for certain browser types the "webbrowser.open()" API could have commands injected into the underlying shell. See CVE-2026-4519 for details.
Use-after-free (UAF) was possible in the `lzma.LZMADecompressor`, `bz2.BZ2Decompressor`, and `gzip.GzipFile` when a memory allocation fails with a `MemoryError` and the decompression instance is re-used. This scenario can be triggered if the process is under memory pressure. The fix cleans up the dangling pointer in this specific error condition. The vulnerability is only present if the program re-uses decompressor instances across multiple decompression calls even after a `MemoryError` is raised during decompression. Using the helper functions to one-shot decompress data such as `lzma.decompress()`, `bz2.decompress()`, `gzip.decompress()`, and `zlib.decompress()` are not affected as a new decompressor instance is used per call. If the decompressor instance is not re-used after an error condition, this usage is similarly not vulnerable.
N/A
SRPMS
- python3.12-3.12.13-2.el8_10.src.rpm
MD5: 6b39e473d740d1777fc97159071ea92f
SHA-256: 8ecc30485a0100daa8c1d13ec692834a96166358783e372ef8c87eec992be014
Size: 19.91 MB
Asianux Server 8 for x86_64
- python3.12-3.12.13-2.el8_10.i686.rpm
MD5: af033cefb3e5ca029c35112a075dd8a2
SHA-256: db457d7e25f8bed2674e260a9a33d390943426e46e040b3565af50cbc83edaf7
Size: 31.13 kB - python3.12-3.12.13-2.el8_10.x86_64.rpm
MD5: e33f7b75f1281f4409e1bb8fca7aa746
SHA-256: a39b8cc2da46e69acbb025e5c233d80203e754689ddb6324675dfb2dcad96f5b
Size: 31.05 kB - python3.12-debug-3.12.13-2.el8_10.i686.rpm
MD5: e91187214c21551be24728d17150d0ff
SHA-256: 2fd5562ee3a9730545e1e999166e91a80b687256ab65b775b85c91c03e06fe38
Size: 3.50 MB - python3.12-debug-3.12.13-2.el8_10.x86_64.rpm
MD5: b18ff54a1c7cc67f5bf37bfb777850f5
SHA-256: 6e4bc9347b122991eda122db553e44c3ce13ac13502b123a8ef53b041b10f5ad
Size: 3.69 MB - python3.12-devel-3.12.13-2.el8_10.i686.rpm
MD5: a1384bf2a2c5a09460d1e7662396fd54
SHA-256: 7b71338e4c064457ff78153f83d4005f321fbbc41e106693fd76a1629f78accb
Size: 292.22 kB - python3.12-devel-3.12.13-2.el8_10.x86_64.rpm
MD5: de3012a20b59ccddc6aff2c42bae3606
SHA-256: aad9f0448cc7c202649aa0603bbf3601ae3d67af4cb3c0d45459e3835ca65869
Size: 292.12 kB - python3.12-idle-3.12.13-2.el8_10.i686.rpm
MD5: 0b44da5f6070539c7c60e05c7b8c8fb9
SHA-256: 334823a15d0c124a25647847c52e21bf6152c337548a89745b2dc4c4abff776c
Size: 1.29 MB - python3.12-idle-3.12.13-2.el8_10.x86_64.rpm
MD5: e0153e4e7dd56fe6dd15dd7c0ccf6d98
SHA-256: 370c6779c0ed3dcccd8377cb2f8722c998cd347c2c2811c1b8b3764b56bef60b
Size: 1.29 MB - python3.12-libs-3.12.13-2.el8_10.i686.rpm
MD5: cd537c1e59a956606999ea14549fe473
SHA-256: fc1b7e5837ec377c609cdcb955e983f3b0371ba05e714fb3ba32d5e629bff892
Size: 10.11 MB - python3.12-libs-3.12.13-2.el8_10.x86_64.rpm
MD5: 5a8eed608911998882be9efd5e4a409c
SHA-256: 071d9ce01fbe13cf2d0739ec2b6956000852fbada7ba1f8fce4cfc4dd14f38c0
Size: 10.02 MB - python3.12-rpm-macros-3.12.13-2.el8_10.noarch.rpm
MD5: d63670d755a9c60ec24dcdc1eeedfb13
SHA-256: dcb107b3f530897806bef6144d832287633f10d428878820aa65f36cba6e5ab9
Size: 17.46 kB - python3.12-test-3.12.13-2.el8_10.i686.rpm
MD5: 6b61273db9e5c5c354e49eedfdac6164
SHA-256: 58d581472281c5f8497889847452f7d73c6988c2be85ce25bf54d7c1229bb743
Size: 16.01 MB - python3.12-test-3.12.13-2.el8_10.x86_64.rpm
MD5: 9fb21ebccbea451e4a67628583c9f9a7
SHA-256: dc75508b0e4f453fffa81cbaa1a3874fe507f847e40a70b06f2ace8cbb9138b4
Size: 16.00 MB - python3.12-tkinter-3.12.13-2.el8_10.i686.rpm
MD5: 25354b379a5e52e72c11dec22c9aaa1b
SHA-256: f822a7e0d49dd9227c4d9eeb86eabf7eab27664d606276ba5f66fe9607981e50
Size: 403.75 kB - python3.12-tkinter-3.12.13-2.el8_10.x86_64.rpm
MD5: b721b6a8f9c0ddb01438a3302b4af23a
SHA-256: 12522d1b598dd2a864dede223ff43173c901e90cab805dc2db69a47d65b1e10f
Size: 402.62 kB