Skip to content

fix: verify selected zip member checksums - #291

Merged
Mearman merged 1 commit into
mainfrom
fix/zip-member-integrity
Nov 6, 2026
Merged

Mearman merged 1 commit into
mainfrom
fix/zip-member-integrity

Conversation

@Mearman

@Mearman Mearman commented Nov 6, 2026

Copy link
Copy Markdown
Owner

ZIP member reads previously trusted the central directory's length and returned decoded bytes without checking the member's CRC-32. Corrupted stored data, or deflated data that still decodes, could therefore reach a dataset parser unnoticed.

Check the decoded length and CRC-32 against the central directory for both whole and streamed reads, including ZIP64. Tests cover corrupted stored data, a mismatched deflated checksum and incorrect lengths. Build, typecheck, lint, seed checks and 1,367 tests passed.

@Mearman
Mearman marked this pull request as ready for review November 6, 2026 07:56
@Mearman
Mearman enabled auto-merge (rebase) November 6, 2026 07:56
@Mearman
Mearman merged commit 2985548 into main Nov 6, 2026
10 checks passed
@Mearman
Mearman deleted the fix/zip-member-integrity branch November 6, 2026 08:04
@github-actions

github-actions Bot commented Nov 6, 2026

Copy link
Copy Markdown

🎉 This PR is included in version 0.125.1 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant