Highlights
Memory Corruption: 3 prior fixes. Scrutinize any change in this area.
pybind11.h: most-fixed (2 issues). Treat as high-risk during review.
1 high-severity fix 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: Heap buffer overflows can occur in `pythonbuf` stream operations if buffer boundaries are not strictly enforced during multi-byte UTF-8 character remainder processing. This poses a significant risk when handling raw C++ stream outputs bridged to Python.
Memory Corruption: Improper life-cycle management of function and property registration can lead to invalid deallocations. For example, calling `std::free` on static string literals or executing double-free/use-after-free paths on default argument records during interpreter finalization leads to memory corruption.
Denial of Service: In free-threaded Python environments, registration of internal class types (like iterators) without adequate synchronization can trigger race conditions that lead to interpreter deadlocks or crashes.