Security context

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

etcd-io/bbolt
main @ ec60813
2
Fixes
1
CVEs
HIGH
Peak severity
Highlights
Memory Corruption: 2 prior fixes. Scrutinize any change in this area.
freelist.go: most-fixed (1 issue). Treat as high-risk during review.
1 high-severity fix in this history; regressions here are high-impact.
Recurring patterns

The bug types that recur here, drawn from past fixes, not open vulnerabilities.

Memory Corruption: Incorrect slice indexing during freelist page deserialization can cause out-of-bounds slice access when reading the database file. This can lead to application crashes or potentially arbitrary memory disclosure during database open/recovery operations.
Memory Corruption: Slices constructed directly from raw page pointers that do not restrict their capacity allow callers to perform slice appends that overwrite adjacent database memory in-use, leading to memory corruption or database file corruption.
Memory Corruption: The database is susceptible to out-of-bounds reads leading to a Denial of Service (DoS) when encountering corrupted or crafted database branch pages containing zero elements.