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.

For
Members of the public, buyers and product leaders
Last reviewed
2026-08-05
Review cycle
Review every 6 months

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.

Primary routes

Where next

Identify where untrusted input reaches memory-unsafe code and map the authority that code has over the rest of the system.

See how CHERI changes the path to impact