Skip to content

fix(deps): zip 9 for RUSTSEC-2026-0367, -0368 and -0369 - #2745

Merged
timohueser merged 3 commits into
developfrom
claude/zip-9
Oct 18, 2026
Merged

timohueser merged 3 commits into
developfrom
claude/zip-9

Conversation

@timohueser

@timohueser timohueser commented Oct 18, 2026 •

Copy link
Copy Markdown
Owner

Summary

This PR raises zip from 8.6.0 to 9.0.5, in the workspace and in host/obc-data-steps. Three test helpers, two in obc-draw and the cells_fixture test of obc-data-steps, now write their options as zip::write::SimpleFileOptions, because FileOptions takes two lifetimes in zip 9. zip 9.0.5 adds one dependency, nix 0.31 (MIT).

Why

Three new advisories against zip 8 fail the deny job on every pull request that changes Cargo.lock. Today that blocks #2739 and #2744.

  • RUSTSEC-2026-0367: extraction keeps SUID and SGID bits.
  • RUSTSEC-2026-0368: ZipArchive::extract follows symbolic links out of the destination.
  • RUSTSEC-2026-0369: extraction sets Unix permissions through symbolic links.

The fix is zip 9.0.0 or later.

Tests

  • cargo check --locked -p obc-draw -p obc-data-steps --all-targets passes.
  • obc test -p obc-draw: 102 tests passed.
  • cargo clippy --locked -p obc-data-steps -p obc-draw --all-targets --all-features -- -D warnings is clean.

cargo-deny is not installed on this machine; CI runs it.

Public docs: no change.

Requirements: none

🤖 Generated with Claude Code

Three advisories against zip 8 (permissions and symbolic links on extraction)
fail cargo-deny on every pull request that changes Cargo.lock. zip 9.0.5 fixes
them. Two test helpers of obc-draw name the write options as
`SimpleFileOptions`, because `FileOptions` takes two lifetimes now.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Oct 18, 2026 •

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: e8621b06-8765-470d-a219-14154b950feb
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

timohueser and others added 2 commits October 18, 2026 20:43
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Review fixes: zip 9 gives the entry name as a Result, so the zip-slip refusal
printed `Ok("../escaped.txt")`. It now prints the raw name, and the test checks
it. obc-data-steps takes zip from the workspace, so a bump touches one manifest.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@timohueser
timohueser enabled auto-merge October 18, 2026 18:49
@timohueser
timohueser merged commit b08fa28 into develop Oct 18, 2026
30 checks passed
@timohueser
timohueser deleted the claude/zip-9 branch October 18, 2026 18:57
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.

1 participant