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)
AFFECTS (1)
HAS_WEAKNESS (1)
Explore deeper with Ninja Signal's threat intelligence graph