Highlights
Auth Bypass: 12 prior fixes. Scrutinize any change in this area.
source/contracts/reporting/Market.sol: most-fixed (2 issues). Treat as high-risk during review.
20 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: A critical typo using a comparison operator instead of an assignment operator when assigning 'bondHolder' silently bypassed authorization updates, leaving the token's ownership unmodified. Developers must ensure state modifications are unit-tested for actual value mutations.
Access Control: The suicide/selfdestruct administrative mechanism lacked proper controller authorization checks, allowing unauthorized actors to destroy contract instances. Administrative lifecycle functions must always validate the caller against a strictly defined controller or owner address.
Auth Bypass: Generic trusted transfer functions (trustedTransfer) allowed arbitrary caller access. Splitting these into specialized, restricted functions utilizing the 'onlyCaller' modifier is required to prevent unauthorized token draining.