Highlights
Memory Corruption: 49 prior fixes. Scrutinize any change in this area.
Objects/unicodeobject.c: most-fixed (15 issues). Treat as high-risk during review.
145 high-severity fixes in this history; regressions here are high-impact.
Recurring patterns
The bug types that recur here, drawn from past fixes, not open vulnerabilities.
Memory Corruption: The project has suffered from numerous memory safety bugs in string and unicode codecs, including use-after-free scenarios and out-of-bounds writes. Re-entrant error callbacks and custom error handlers frequently expose these paths to deallocation races.
Integer Overflow: Incorrect variable sizing (e.g., using standard integer types instead of Py_ssize_t) and missing multiplication checks when parsing socket arguments led to multiple buffer overflows.
Path Traversal: Archive extraction and path manipulation routines are prone to directory traversal when processing relative sequences ('..') or absolute paths in untrusted metadata.