Vulnerability RUSTSEC-2026-0406

Unknown
UNKNOWN RISK
Vulnerabilities without an assigned CVSS score. Severity is not determinable from available data.
17 days ago
October 16, 2026 at 12:00 PM UTC
Use-after-free when changing a multithreaded context with an unfinished frame
1.2.0 - 7.3.0 and 8.0.0 - 8.1.0
1.2.0 - 7.3.0 and 8.0.0 - 8.1.0

Summary

Use-after-free when changing a multithreaded context with an unfinished frame

Details

When a multithreaded frame (zstdmt feature, CParameter::NbWorkers) is left unfinished, its jobs may still be running on the worker threads: the C library only waits for them when the next frame starts, or when the context is freed. A session reset makes the context accept changes again in the meantime, so:

  • unloading the dictionary (load_dictionary, ref_cdict, ref_prefix, disable_dictionary, init*, or reset with parameters) freed the dictionary a worker was still compressing against;
  • changing NbWorkers made the next frame resize the job table before waiting for the old jobs.

The flaw was corrected by refusing these calls while a multithreaded frame is unfinished. The new CCtx::wait_for_workers() waits for the workers first.

Impacted packages

Timeline

Published
17 days ago
October 16, 2026 at 12:00 PM UTC
Fixed (8.2.0)
16 days ago
October 16, 2026 at 04:59 PM UTC
Fixed (7.4.0)
1 day ago
November 01, 2026 at 02:11 PM UTC
Last Modified
4 hours ago
November 02, 2026 at 09:30 AM UTC