【活用ガイド】

JVNDB-2026-013321

ChainguardのMelangeにおけるパストラバーサルの脆弱性

概要

melangeは宣言的パイプラインを使用してapkパッケージを構築することを可能にします。バージョン0.32.0から0.43.4の前までの間において、`melange lint --persist-lint-results`(オプトインフラグで、`melange build --persist-lint-results`でも使用可能)は、出力ファイルパスを`--out-dir`とAPKの.PKGINFO制御ファイルから読み取った`arch`および`pkgname`の値を結合して構築していました。影響を受けるバージョンでは、これらの値にパス区切り文字や`..`シーケンスの検証が行われていなかったため、melangeベースのlint/buildパイプラインにAPKを提供できる攻撃者(例:サードパーティAPKをlintするCIやサービスとしてのビルド)が、melangeプロセスが到達可能な任意の`.json`パスに`lint-pkgname-pkgver-repoch.json`を書き込ませる可能性がありました。書き込まれるファイルは部分的に攻撃者に影響された内容を持つJSONのlintレポートです。直接的なコード実行経路はありませんが、書き込みによりファイルシステム上の他のJSONアーティファクトを上書きしてしまう恐れがあります。本問題は`--persist-lint-results`を明示的に渡したデプロイメントにのみ影響し、このフラグはデフォルトで無効です。修正はmelange v0.43.4で行われ、`arch`と`pkgname`に`..`、`/`、および`filepath.Separator`の検証を`pkg/linter/results.go`のパス構築前に追加しました(コミット84f3b45)。回避策としては、.PKGINFOの内容を完全に信頼できないAPKのlintやビルド時に`--persist-lint-results`を渡さないことが推奨されます。また、低権限ユーザーでmelangeを実行し、書き込みを隔離されたディレクトリに制限することも影響を軽減します。
CVSS による深刻度 (CVSS とは?)

CVSS v3 による深刻度
基本値: 3.3 (注意) [NVD値]
  • 攻撃元区分: ローカル
  • 攻撃条件の複雑さ: 低
  • 攻撃に必要な特権レベル: 不要
  • 利用者の関与: 要
  • 影響の想定範囲: 変更なし
  • 機密性への影響(C): なし
  • 完全性への影響(I): 低
  • 可用性への影響(A): なし
影響を受けるシステム


Chainguard
  • Melange 0.32.0 以上 0.43.4 未満

本脆弱性の影響を受ける製品の詳細については、ベンダ情報および参考情報をご確認ください。
想定される影響

当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。
また、当該ソフトウェアが扱う情報の一部が書き換えられる可能性があります。
さらに、当該ソフトウェアは停止しません。
そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。
対策

正式な対策が公開されています。ベンダ情報を参照して適切な対策を実施してください。
ベンダ情報

GitHub
CWEによる脆弱性タイプ一覧  CWEとは?

  1. パス・トラバーサル(CWE-22) [その他]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2026-29051
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-29051
  2. 関連文書 : Merge commit from fork  chainguard-dev/melange@84f3b45  GitHub
更新履歴

  • [2026年04月30日]
      掲載