criticalVulnerability

GHSA-5w5r-mf82-595p

The safe API functions `constant::Reader::get` and `StructSchema::new` rely on `PointerReader::get_root_unchecked`, which can cause undefined behavior (UB) by constructing arbitrary words or schemas. ## `Reader::get` ```rust pub fn get(&self) -> Result<<T as Owned>::Reader<'static>> { // ... // UNSAFE: access `words` without validation } ``` ## `StructSchema::new` ```rust pub fn new(builder: RawBrandedStructSchema) -> StructSchema { // ... // UNSAFE: access encoded nodes without validation } ``` This vulnerability allows safe Rust code to trigger UB, which violates Rust's safety guarantees. The issue is resolved in version `0.24.0` by making constructor functions unsafe and mark the fields of struct as visible only in the crate.

Properties

ghsa_id
GHSA-5w5r-mf82-595p
severity
critical
summary
Cap'n Proto has Undefined Behavior in constant::Reader and StructSchema
cve_id
GHSA-5w5r-mf82-595p
is_ghsa_only
true
ghsa_published
2026-01-28T16:06:09Z
source_url
https://github.com/advisories/GHSA-5w5r-mf82-595p
ghsa_updated
2026-01-28T16:06:09Z

Related Entities (3)

REPORTED_BY (1)

[Source]GitHub Advisory Database

AFFECTS (1)

[Software]rust/capnp

HAS_WEAKNESS (1)

[Weakness]Reliance on Undefined, Unspecified, or Implementation-Defined Behavior

Explore deeper with Ninja Signal's threat intelligence graph

GHSA-5w5r-mf82-595p — Ninja Signal Threat Intelligence | Ninja Signal