Security context

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

civicrm/civicrm-core
master @ a5a623a
348
Fixes
0
CVEs
CRITICAL
Peak severity
42.9%
Coverage
Highlights
Auth Bypass: 203 prior fixes. Scrutinize any change in this area.
CRM/ACL/BAO/ACL.php: most-fixed (10 issues). Treat as high-risk during review.
238 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 / Authorization Bypass: The largest risk category, with a recurring pattern of permission checks being disabled or inconsistently applied across different API layers and form handlers, allowing unauthorized read/write operations.
SQL Injection: Recurring SQL injection via unsanitized 'order by'/'sort' parameters across multiple components, necessitating the introduction of 'MysqlOrderBy' and 'MysqlOrderByDirection' validation types.
Stored/Reflected XSS: XSS from unescaped user-controlled data (titles, names, labels) rendered in templates and JavaScript, indicating a need for consistent output encoding and HTML purification across all display contexts.