RUSTSEC-2026-0401 Out-of-bounds read in `train_from_buffer` when sample sizes overflow

Not scored Published
Exploited in the wild
Not known
Fix
Available

What is RUSTSEC-2026-0401?

RUSTSEC-2026-0401 is a vulnerability in zstd-safe, published on 16 Oct 2026.

Official description

ZDICT_trainFromBuffer is never told the length of the samples buffer, so train_from_buffer checked that the sample sizes add up to it. With overflow checks off, as in release builds, that sum wrapped around: sizes totalling 2^64 plus the buffer length passed the check, and the trainer read past the end of the buffer. zstd::dict::from_continuous relies on this check from zstd 0.4.10; older versions of zstd had their own, covered by a separate advisory.

This requires the sample sizes to come from an untrusted source. The flaw was corrected by summing the sizes with overflow checks.

Which versions are affected by RUSTSEC-2026-0401?

1 open source package ship an affected version, including zstd-safe.

PackageAffectedFixed in
zstd-safe crates.ioFrom 0.0.0-08.2.0

How do I fix RUSTSEC-2026-0401?

Upgrade zstd-safe to 8.2.0 or later.

Is RUSTSEC-2026-0401 being exploited?

There is no known exploitation of RUSTSEC-2026-0401 in the wild and no public exploit code.

Sources

Is RUSTSEC-2026-0401 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free