This project contains known security vulnerabilities. Find detailed information at the bottom.

Crate distill-loader

Dependencies

(16 total, 7 outdated, 1 insecure)

CrateRequiredLatestStatus
 capnp ⚠️^0.14.00.27.2insecure
 capnp-rpc^0.14.00.27.0out of date
 crossbeam-channel^0.5.00.5.17up to date
 dashmap^4.0.16.2.1out of date
 distill-core=0.0.20.0.3out of date
 distill-schema=0.0.20.0.3out of date
 futures-channel^0.30.3.34up to date
 futures-core^0.30.3.34up to date
 futures-util^0.30.3.34up to date
 log^0.40.4.34up to date
 memmap^0.70.7.0up to date
 serde^11.0.229up to date
 thread_local^1.01.1.10up to date
 tokio^1.01.53.3up to date
 tokio-util^0.6.10.7.20out of date
 uuid^0.8.21.28.0out of date

Security Vulnerabilities

capnp: Unsound APIs of public `constant::Reader` and `StructSchema`

RUSTSEC-2025-0143

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

pub fn get(&self) -> Result<<T as Owned>::Reader<'static>> {
    // ...
    // UNSAFE: access `words` without validation
}

StructSchema::new

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.