Rust advisories / noyalib
VulnerabilityRUSTSEC-2026-0333 · noyalib
RUSTSEC-2026-0333: Resource budgets not enforced on the typed deserialization path
Short answerA security vulnerability in the noyalib crate: Resource budgets not enforced on the typed deserialization path. No severity score was published. Fixed in 0.0.53: update to a fixed version.
| Crate | noyalib |
|---|---|
| Type | Vulnerability (denial-of-service) |
| Affected versions | Before 0.0.53. |
| Fixed in | 0.0.53 |
| Severity | not scored |
| Published | 2026-10-06 |
| Last changed | 2026-10-08 |
| Also known as | GHSA-4xcc-23fx-w2wj |
| Affected functions | noyalib::from_reader, noyalib::from_reader_with_config, noyalib::from_slice, noyalib::from_slice_with_config, noyalib::from_str, noyalib::from_str_with_config |
What to do
- See which version you have:
cargo tree -i noyalib(it also shows which of your dependencies pulls it in). - Update within your version requirement:
cargo update -p noyalib. If the fix is a newer major or minor than your requirement allows, raise it in Cargo.toml (for examplenoyalib = "0.0.53") or update the dependency that pulls it in. - Check again with
cargo audit, or paste your Cargo.lock into our Cargo.toml checker.
Details from the advisory
ParserConfig::max_events, max_nodes, max_total_scalar_bytes, max_merge_keys, alias_anchor_ratio and the alias jump factor were enforced only by the two Value loaders. A typed target with a default-shaped configuration is served by the streaming deserializer, which never read those fields, so tightening any of them had no effect on from_str::<T> for a struct target. The default document-length, depth and alias-count caps were enforced on every path, so no input was unbounded; the gap affects callers who tightened the other budgets for hostile input.
Version 0.0.53 charges every budget on the streaming path as well and adds cross-path parity tests.
Users who cannot upgrade can deserialize into noyalib::Value first and convert with from_value, or rely on max_document_length and max_depth, which were always applied on every path.
References
- Package: crates.io/crates/noyalib
- Advisory: rustsec.org/advisories/RUSTSEC-2026-0333.html
- Web: github.com/sebastienrousseau/noyalib/pull/470
From the RustSec Advisory Database (CC0-1.0) via the OSV export, downloaded Oct 24, 2026. Severity score computed from the published CVSS vector.
Up next
Are you affected?Check your whole dependency treePaste Cargo.lock: every advisory, for your exact versions.Read it next →Also worth your time
Did this answer your question?