Replace extract-zip with secure yauzl-based extraction - #472
Conversation
Reject archive entries that escape the destination or use unsafe symbolic links and parent paths. Preserve safe overwrite behavior and add extraction tests, dependency updates, and license records.
Dependency ReviewThe following issues were found:
OpenSSF Scorecard
Scanned Files
|
|
Coverage Impact ⬆️ Merging this pull request will increase total coverage on Modified Files with Diff Coverage (2)
🤖 Increase coverage with AI coding...🚦 See full report on Qlty Cloud » 🛟 Help
|
|
@brondani , are there plans to move a variant of this to |
AFAIK this is not yet formally planned. |
|
If we extend |
Implemented ZIP-bomb protections in extract-zip.ts: - Maximum 10,000 archive entries - Maximum 512 MiB per extracted file - Maximum 2 GiB aggregate uncompressed output - Byte limits enforced by a streaming Transform before data reaches disk - Correct yauzl cancellation using unpipe then destroy

Fixes
extract-zipChanges
extract-zipwith an in-repoyauzl-based ZIP extractor.yauzldependencies, TypeScript types, and third-party license records.Checklist