Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion content/posts/python-31214-31116-31021/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ New security releases for 3.10, 3.11 and 3.12 are now available. (As these Pytho
* [gh-87451](https://github.com/python/cpython/issues/87451): The [`ftplib`](https://docs.python.org/release/3.12.14/library/ftplib.html#module-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`](https://docs.python.org/release/3.12.14/library/ftplib.html#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-145506](https://github.com/python/cpython/issues/145506): Fixes [**CVE 2026-2297**](https://www.cve.org/CVERecord?id=CVE-2026-2297) by ensuring that `SourcelessFileLoader` uses [`io.open_code()`](https://docs.python.org/release/3.12.14/library/io.html#io.open_code) when opening `.pyc` files.
* [gh-144370](https://github.com/python/cpython/issues/144370): Disallow usage of control characters in status in [`wsgiref.handlers`](https://docs.python.org/release/3.12.14/library/wsgiref.html#module-wsgiref.handlers) to prevent HTTP header injections. Patch by Benedikt Johannes.
* [gh-145986](https://github.com/python/cpython/issues/145986): [`xml.parsers.expat`](https://docs.python.org/release/3.12.14/library/pyexpat.html#module-xml.parsers.expat): Fixed a crash caused by unbounded C recursion when converting deeply nested XML content models with [`ElementDeclHandler()`](https://docs.python.org/release/3.12.14/library pyexpat.html#xml.parsers.expat.xmlparser.ElementDeclHandler). This addresses [**CVE 2026-4224**](https://www.cve.org/CVERecord?id=CVE-2026-4224).
* [gh-145986](https://github.com/python/cpython/issues/145986): [`xml.parsers.expat`](https://docs.python.org/release/3.12.14/library/pyexpat.html#module-xml.parsers.expat): Fixed a crash caused by unbounded C recursion when converting deeply nested XML content models with [`ElementDeclHandler()`](https://docs.python.org/release/3.12.14/library/pyexpat.html#xml.parsers.expat.xmlparser.ElementDeclHandler). This addresses [**CVE 2026-4224**](https://www.cve.org/CVERecord?id=CVE-2026-4224).
* [gh-145599](https://github.com/python/cpython/issues/145599): Reject control characters in [`http.cookies.Morsel`](https://docs.python.org/release/3.12.14/library/http.cookies.html#http.cookies.Morsel) [`update()`](https://docs.python.org/release/3.12.14/library/http.cookies.html#http.cookies.Morsel.update) and [`js_output()`](https://docs.python.org/release/3.12.14/library/http.cookies.html#http.cookies.BaseCookie.js_output). This addresses [**CVE 2026-3644**](https://www.cve.org/CVERecord?id=CVE-2026-3644).
* [gh-148395](https://github.com/python/cpython/issues/148395): Fix a dangling input pointer in [`lzma.LZMADecompressor`](https://docs.python.org/release/3.12.14/library/lzma.html#lzma.LZMADecompressor), [`bz2.BZ2Decompressor`](https://docs.python.org/release/3.12.14/library/bz2.html#bz2.BZ2Decompressor), and internal `zlib._ZlibDecompressor` when memory allocation fails with [`MemoryError`](https://docs.python.org/release/3.12.14/library/exceptions.html#MemoryError), which could let a subsequent `decompress()` call read or write through a stale pointer to the already-released caller buffer.
* [gh-148169](https://github.com/python/cpython/issues/148169): A bypass in [`webbrowser`](https://docs.python.org/release/3.12.14/library/webbrowser.html#module-webbrowser) allowed URLs prefixed with `%action` to pass the dash-prefix safety check.
Expand Down