Security context

What an agent needs to avoid regressing past fixes and find the next vuln in this repo.

pydata/numexpr
master @ ca91acf
5
Fixes
1
CVEs
CRITICAL
Peak severity
25.0%
Coverage
Highlights
Sandbox Escape: 3 prior fixes. Scrutinize any change in this area.
numexpr/necompiler.py: most-fixed (3 issues). Treat as high-risk during review.
4 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.

Sandbox Escape: Attackers can bypass regular expression filters (such as using complex number suffixes or dunder attributes) to escape the expression sanitizer and execute arbitrary Python code via eval().
Race Condition: Concurrent multi-threaded execution of expressions can result in shared state corruption of the 'memsteps' array, causing memory corruption or application crashes during execution.
Memory Leak: Improper reference counting of Python objects (PyBytes_FromString, PyLong_FromLong) in C++ extension code can lead to resource exhaustion over long-running processes.