Source: https://www.securityweek.com/tarmageddon-flaw-in-popular-rust-library-leads-to-rce/
🛡 概要
Rustの人気ライブラリAsync-tarにおける高危険度の脆弱性が発見され、攻撃者がアーカイブエントリを不正に読み込み、リモートコードを実行できる可能性があります。この脆弱性はCVE-2025-62518として追跡され、CVSSスコアは8.1です。TARmageddonと呼ばれるこのセキュリティ欠陥は、特定のPAXおよびustarヘッダー間の不一致によって発生するデシンクロナイゼーション問題として説明されています。
🔍 技術詳細
この脆弱性は、ネストされたTARファイルの処理中に発生します。ファイルエントリが両方のヘッダーを持ち、ustarヘッダーが誤ってゼロサイズを指定すると、パーサーのデータ境界決定ロジックに不整合が生じます。その結果、パーサーはustarサイズに基づいてストリーム位置を進め、PAXヘッダーが正しくファイルサイズを指定しているにもかかわらず、実際のファイルデータ(ネストされたTARアーカイブ)をスキップできません。これにより、パーサーはネストされたアーカイブの最初の有効なTARヘッダーを誤って外部アーカイブのエントリとして解釈します。
「0バイト進めることで、パーサーは実際のファイルデータをスキップせず、すぐに次の有効なTARヘッダーに遭遇します」と、8月にこの欠陥を報告したEdera社は説明しています。このバグを悪用されると、リモートコード実行が可能となり、攻撃者は設定ファイルを置き換えることができます。また、サプライチェーン攻撃にも利用される可能性があります。
⚠ 影響
Edera社によると、この脆弱性の影響はエコシステム全体で定量化できません。なぜなら、脆弱なライブラリAsync-tarとその最も人気のあるフォークであるTokio-tarは放置されているからです。このため、上流リポジトリにパッチをデプロイすることができず、下流ユーザーが継承することもできませんでした。Ederaは、パッチの展開を確実にするために分散型の開示アプローチを採用しました。
Tokio-tarは、crates.ioで500万回以上ダウンロードされていますが、Ederaが元々メンテナンスしていたKrata-tokio-tarや、Astral-tokio-tar、Testcontainers、Binstalk-downloader、Liboxen、Opa-wasmなど多くの下流プロジェクトで使用されています。Binstalkのメンテナーは依存関係を削除するか、バグ修正されたAstral-tokio-tarに切り替える決定を下しました。
🛠 対策
下流ユーザーは、修正されたライブラリであるAstral-tokio-tarやKrata-tokio-tarに切り替えることを推奨します。また、TARパーサーを修正し、サイズ決定のためにPAXヘッダーを優先し、ヘッダーの整合性を検証し、ヘッダーの混乱を防ぐために厳密な境界チェックを追加することも重要です。「TARmageddonの発見は、Rustが万能でないことを思い出させる重要な教訓です」とEderaは述べています。人気のあるコードがメンテナンスされず、数百万の下流ユーザーにリスクをもたらす可能性があることを示しています。


