Highlights
Memory Safety: 2 prior fixes. Scrutinize any change in this area.
ext/sqlite3/database.c: most-fixed (2 issues). Treat as high-risk during review.
3 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 Safety: Inadequate reference tracking during custom SQL function registration allowed the Ruby garbage collector to free blocks still referenced by SQLite, leading to use-after-free vulnerabilities. Redefining functions with different arities can bypass naive reference tracking schemes.
Memory Safety: Executing prepared statements containing aggregate functions after database closure can trigger a use-after-free. Ensuring strong references are kept in instance variables is required to align object lifetimes.
Command Injection: Direct inline shell expansion of runner context variables inside GitHub Actions workflows creates opportunities for arbitrary command injection if workflow inputs are manipulated.