Highlights
SQL Injection: 6 prior fixes. Scrutinize any change in this area.
lib/sequel/adapters/postgres.rb: most-fixed (3 issues). Treat as high-risk during review.
10 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.
SQL Injection: Database adapter methods frequently construct DDL or dynamic commands (e.g., LISTEN, NOTIFY, cursor declarations) using unquoted or unvalidated user-supplied identifiers. Ensuring that SQL identifiers are escaped via robust quoting APIs is vital.
Code Injection: Dynamic metaprogramming using string interpolation within evaluation contexts like `instance_eval` or `class_eval` creates severe remote code execution risks. Dynamic behavior should be refactored to use safe alternative primitives like `define_singleton_method` or `define_method` with argument binding.
Auth Bypass: Flaws in class inheritance handlers and plugin loading detection can leave model subclasses without intended mass-assignment protections, allowing unauthorized modification of restricted column setters.