zip2のlegacy-zipで細工したZIPを処理するとサービスが停止する脆弱性
Summary
legacy-zip機能を有効にしてビルドしたzip2の5.1.0から9.0.0までの版には、攻撃者が細工したZIP64の非圧縮サイズによってメモリの事前確保が過大になり、ZipArchive::extractの実行中にパニックが起きる脆弱性があります。パニックが処理されないと、アーカイブを扱うサービスが停止するおそれがあります。修正版は9.0.0です。
AI summary
Written by an external AI model and may contain mistakes. Check the original description and references below before acting on it.
legacy-zip機能を有効にしてビルドしたzip2の5.1.0から9.0.0までの版には、攻撃者が細工したZIP64の非圧縮サイズによってメモリの事前確保が過大になり、ZipArchive::extractの実行中にパニックが起きる脆弱性があります。パニックが処理されないと、アーカイブを扱うサービスが停止するおそれがあります。修正版は9.0.0です。
Affected packages
| Ecosystem | Package | Affected | Fixed |
|---|---|---|---|
| zip-rs | zip2 | — | — |
Original description The description as published by the source.
zip is a zip library for Rust that supports reading and writing simple ZIP files. From 5.1.0 until 9.0.0, applications built with the legacy-zip feature can reserve output capacity from an attacker-controlled ZIP64 uncompressed size before validating the compressed stream. The ShrinkDecoder path in src/legacy/shrink.rs can panic with a capacity overflow during ZipArchive::extract, and the Reduce and Implode decoders contain the same unbounded preallocation pattern. An unhandled panic can terminate an archive-processing service. This issue is fixed in version 9.0.0.
Source: CVE.org (CVE Program・cvelistV5) NVD