python3.12-3.12.13-2.el9
エラータID: AXSA:2026-888:14
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: Command-line option injection in webbrowser.open() via crafted URLs (CVE-2026-4519)
* 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-4519
The webbrowser.open() API would accept leading dashes in the URL which could be handled as command line options for certain web browsers. New behavior rejects leading dashes. Users are recommended to sanitize URLs prior to passing to webbrowser.open().
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.
The webbrowser.open() API would accept leading dashes in the URL which could be handled as command line options for certain web browsers. New behavior rejects leading dashes. Users are recommended to sanitize URLs prior to passing to webbrowser.open().
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.el9.src.rpm
MD5: 2f7f2b035bcfb00d95cefd0fced78bcd
SHA-256: 2b5000bac6b10fef77c5d533afa0947227a94454b539e78b95ff03fc4cf123ab
Size: 19.91 MB
Asianux Server 9 for x86_64
- python3.12-3.12.13-2.el9.i686.rpm
MD5: 3e4d7fe6927cc5c2a94fe8ab318d2e51
SHA-256: b9a67f128f8b705dbfe1bbb5e93bb5120f727ea80a88c07864ac736371e980d2
Size: 26.09 kB - python3.12-3.12.13-2.el9.x86_64.rpm
MD5: 90ac1ebdd5e66494e134d019615feb60
SHA-256: f303009d3f11565266ae738a1f6bbe1393649ac2b622dfd29f6b6746c89fd010
Size: 26.08 kB - python3.12-debug-3.12.13-2.el9.i686.rpm
MD5: 04d4f25598c923365ca6325e640dda62
SHA-256: f5ebd15f6d463278af53cbc1c3098ef6517baf735c1c703e6ae7b0093edc0b22
Size: 3.54 MB - python3.12-debug-3.12.13-2.el9.x86_64.rpm
MD5: 982acea3bdb83c004bf7bf088cc8095f
SHA-256: 3acfb99fdb80076420510c28519cb8c99b1e6b1e38ad1474e46f0b8c91e948ac
Size: 3.72 MB - python3.12-devel-3.12.13-2.el9.i686.rpm
MD5: 7cef07bbbbf042a07bed5e3fa3ff05c8
SHA-256: f0a63b9b63c0307c4d2cc8886cbdbf97322699ca86c3c8b0c863fad1a06fa63f
Size: 327.78 kB - python3.12-devel-3.12.13-2.el9.x86_64.rpm
MD5: 4c08ceb4b07d5a83bab0b2fe6f7de82a
SHA-256: d6339f0659999d35866146b4e2c307ccb9199dce27f6be63e20a481bdce56935
Size: 327.76 kB - python3.12-idle-3.12.13-2.el9.i686.rpm
MD5: 5532b91f6081fa16fcc55a501c29069f
SHA-256: 5a6c726589e1b25b97ed2be399ab34b458a515a21126957f0cfac5ca17f48aee
Size: 1.07 MB - python3.12-idle-3.12.13-2.el9.x86_64.rpm
MD5: 134e7a57cfd47200620246ff6a6980fa
SHA-256: 1b231ba3e4fd14cee681d71e1fcc5d628f6bea508f1ddc2517b7ef6b87301b0b
Size: 1.07 MB - python3.12-libs-3.12.13-2.el9.i686.rpm
MD5: 4fcd564239cb57dda8228e35f3e43e81
SHA-256: 13ba49c6916baa8331705eb14730b08066378704e6e9c458f8961040f5632d47
Size: 9.72 MB - python3.12-libs-3.12.13-2.el9.x86_64.rpm
MD5: 774391f28159ebbead116c7e1be3c7d9
SHA-256: 517f5d5552c3ad7628cfc21e4a29f0402760b535338a24e083fc39cfcf849b03
Size: 9.69 MB - python3.12-test-3.12.13-2.el9.i686.rpm
MD5: 1967286dd0fe7cb403d6503eeac1c8a1
SHA-256: 79d9a78ea3c642e366513f76d060d55c6cb1114b237757947b2ba9053f1ed991
Size: 15.76 MB - python3.12-test-3.12.13-2.el9.x86_64.rpm
MD5: be7be9b14dd97e6eaacdbd1b0a08a9de
SHA-256: af184d8247f0ececc1d01d48da3a48ccd8963eec3da24546f112472b8870108b
Size: 15.75 MB - python3.12-tkinter-3.12.13-2.el9.i686.rpm
MD5: 95d8b04b75fcaedc4b1d1dbb895b1882
SHA-256: e90094023137a334b015131aecf3e89de2bc1cc4cd2f8203800fc0ca14f4852b
Size: 421.66 kB - python3.12-tkinter-3.12.13-2.el9.x86_64.rpm
MD5: bb2d57c9ad22fa1078005de562c10eee
SHA-256: 58e05fe67725bc7e64b5a11909c85e41485ae8824de75eb8761c820d316da00a
Size: 420.51 kB