Highlights
Auth Bypass: 50 prior fixes. Scrutinize any change in this area.
mathesar/api/db/permissions/table.py: most-fixed (4 issues). Treat as high-risk during review.
39 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.
Auth Bypass: Several API query endpoints suffered from skipped queryset scoping and flawed inverse conditional checks, permitting unauthorized metadata exposure and query execution. Correct scoping rules based on user permissions are critical here.
Auth Bypass: RPC handlers lacked strict session-level and database-level authorization decorators, allowing users to execute backend functions without validating that they owned or had permissions to target the specified database.
SQL Injection: Constraints and links creation processes constructed raw SQL statements using unescaped table names. Attackers could supply malicious characters (such as parentheses) in referent table names to execute arbitrary SQL commands.