| Title | Archive::Tar projectのArchive::Tarにおける過剰なサイズ値のメモリ割り当てに関する脆弱性 |
|---|---|
| Summary | PerlのArchive::Tarのバージョン3.10より前では、tarヘッダー内のエントリサイズフィールドを攻撃者が制御することでメモリ不足を引き起こす可能性があります。_read_tar()関数は各エントリのペイロードを$handle-read($$data, $block)で読み取りますが、この$blockはtarヘッダーの12バイトのサイズフィールドから導出され、この値には上限が設けられていません。複数ギガバイトのサイズを宣言する不正なヘッダーによって、Perlはそのサイズのスカラを割り当ててしまいます。 |
| Possible impacts | ・当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 ・当該ソフトウェアが扱う情報について、書き換えは発生しません。 ・当該ソフトウェアが完全に停止する可能性があります。 |
| Solution | ベンダ情報を参照して適切な対策を実施してください。 |
| Publication Date | May 26, 2026, midnight |
| Registration Date | May 29, 2026, 11:19 a.m. |
| Last Update | May 29, 2026, 11:19 a.m. |
| CVSS3.0 : 重要 | |
| Score | 7.5 |
|---|---|
| Vector | CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
| Archive::Tar project |
| Archive::Tar 3.10 未満 |
| No | Changed Details | Date of change |
|---|---|---|
| 1 | [2026年05月29日] 掲載 |
May 29, 2026, 11:19 a.m. |
| Summary | Archive::Tar versions before 3.10 for Perl allow memory exhaustion via attacker controlled entry size field in tar header. _read_tar() reads each entry's payload with $handle->read($$data, $block), where $block is derived from the entry's 12-byte size field in the tar header with no upper bound on that value. A crafted header declaring a multi-gigabyte size causes Perl to allocate a scalar of that size. |
|---|---|
| Publication Date | May 26, 2026, 11:16 a.m. |
| Registration Date | May 27, 2026, 4:08 a.m. |
| Last Update | May 28, 2026, 11:16 p.m. |
| Configuration1 | or higher | or less | more than | less than | |
| cpe:2.3:a:archive\:\:tar_project:archive\:\:tar:*:*:*:*:*:perl:*:* | 3.10 | ||||