Skip to content

zstd, zstd-safe: add the backported fixes in 0.13.4 and 7.4.0 - #3479

Merged
djc merged 13 commits into
rustsec:mainfrom
gyscos:zstd-backport-0.13
Nov 2, 2026
Merged

djc merged 13 commits into
rustsec:mainfrom
gyscos:zstd-backport-0.13

Conversation

@gyscos

@gyscos gyscos commented Nov 1, 2026 •

Copy link
Copy Markdown
Contributor

Affected crate(s)

  • zstd (~110M recent downloads)
  • zstd-safe (~114M recent downloads)

Links to upstream issue(s) or PR(s)

Severity

Unchanged. This PR only updates existing advisories: I maintain zstd-rs, and the fixes behind RUSTSEC-2026-0391 and RUSTSEC-2026-0395 through 0406 were backported to the previous release lines, since several large downstream crates can't move to zstd 0.14 / zstd-safe 8 yet:

  • zstd 0.13.4 fixes RUSTSEC-2026-0391
  • zstd-safe 7.4.0 fixes RUSTSEC-2026-0395 to RUSTSEC-2026-0406

Each advisory gets its own commit, which adds the backport to patched and splits the affected.functions ranges around it. For example, [">= 4.1.0, < 8.2.0"] becomes [">= 4.1.0, < 7.4.0", ">= 8.0.0, < 8.2.0"].

rustsec-admin lint passes at the revision CI pins.

Checklist

  • Advisory filename(s) starts with RUSTSEC-0000-0000 as the ID (n/a: existing advisories keep their assigned IDs)
  • date field is set to the public disclosure date (unchanged)
  • Contains a concise and descriptive title after advisory metadata (unchanged)
  • Asked maintainer(s) if publishing an advisory is appropriate (I am the maintainer)

gyscos added 13 commits November 1, 2026 09:10
The fix was backported to the previous release line, in zstd 0.13.4.
The fix was backported to the previous release line, in zstd-safe 7.4.0.
The fix was backported to the previous release line, in zstd-safe 7.4.0.
The fix was backported to the previous release line, in zstd-safe 7.4.0.
The fix was backported to the previous release line, in zstd-safe 7.4.0.
The fix was backported to the previous release line, in zstd-safe 7.4.0.
The fix was backported to the previous release line, in zstd-safe 7.4.0.
The fix was backported to the previous release line, in zstd-safe 7.4.0.
The fix was backported to the previous release line, in zstd-safe 7.4.0.
The fix was backported to the previous release line, in zstd-safe 7.4.0.
The fix was backported to the previous release line, in zstd-safe 7.4.0.
The fix was backported to the previous release line, in zstd-safe 7.4.0.
The fix was backported to the previous release line, in zstd-safe 7.4.0.
Copilot AI balanced review requested due to automatic review settings November 1, 2026 14:13

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

No active review issues block the advisory updates recognizing backported zstd and zstd-safe security fixes.

No open issues 🎉

What changed in this PR

Updates 13 RustSec advisories to recognize backported security fixes, allowing downstream users to stay on the previous zstd and zstd-safe release lines.

Changes:

  • Adds zstd ^0.13.4 and zstd-safe ^7.4.0 to the respective patched ranges.
  • Splits affected-function ranges to exclude the backports while preserving coverage of vulnerable newer releases.
File Description
crates/​zstd/​RUSTSEC-2026-0391.md Records the context-reuse fix in zstd 0.13.4.
crates/​zstd-safe/​RUSTSEC-2026-0406.md Records the multithreaded context use-after-free backport.
crates/​zstd-safe/​RUSTSEC-2026-0405.md Records the seekable compression bounds-checking backport.
crates/​zstd-safe/​RUSTSEC-2026-0404.md Records the decoder cloning double-free backport.
crates/​zstd-safe/​RUSTSEC-2026-0403.md Records the streaming decompression uninitialized-memory backport.
crates/​zstd-safe/​RUSTSEC-2026-0402.md Records the encoder cloning buffer-overflow backport.
crates/​zstd-safe/​RUSTSEC-2026-0401.md Records the dictionary training out-of-bounds read backport.
crates/​zstd-safe/​RUSTSEC-2026-0400.md Records the dictionary decompression use-after-free backport.
crates/​zstd-safe/​RUSTSEC-2026-0399.md Records the dictionary initialization lifetime backport.
crates/​zstd-safe/​RUSTSEC-2026-0398.md Records the seekable decompression bounds-checking backport.
crates/​zstd-safe/​RUSTSEC-2026-0397.md Records the output-buffer uninitialized-memory backport.
crates/​zstd-safe/​RUSTSEC-2026-0396.md Records the seekable null-pointer backport.
crates/​zstd-safe/​RUSTSEC-2026-0395.md Records the context parameter use-after-free backport.

Review effort: Balanced

@djc djc left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@djc
djc merged commit e52a821 into rustsec:main Nov 2, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants