Why CHERI
The memory-safety problem
Memory-unsafe software can read or write outside the object it intended to use, or continue using memory after the object's lifetime.
Why it matters
The risk is amplified by large C and C++ code bases, untrusted inputs, third-party components and products that remain deployed for years.
In brief
Why can an ordinary software mistake become a security or reliability failure?
Memory-unsafe software can read or write outside the object it intended to use, or continue using memory after the object’s lifetime. A routine programming error can therefore corrupt data, expose secrets, redirect control flow or crash a service.
Key considerations
1. Spatial errors
Out-of-bounds reads and writes cross the intended memory boundary.
2. Temporal errors
Use-after-free and related faults use memory after its ownership or purpose has changed.
3. Impact
Attackers may turn reachable errors into data access, code execution or wider system compromise; non-exploited faults still affect reliability.
Evidence and caveats
Not every memory error is exploitable, and memory unsafety is not the cause of every cyber incident. Assess reachability, controls and consequence in context.
Use evidence from a named system or source and keep claims proportionate. CHERI is one layer in a broader secure-design strategy.