【活用ガイド】

JVNDB-2026-013322

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

概要

melangeは宣言的パイプラインを使用してapkパッケージを構築することを可能にします。バージョン0.32.0から0.43.4未満の間、melangeの設定ファイルに影響を与えられる攻撃者(例えばプルリクエスト駆動のCIやビルド・アズ・ア・サービスのシナリオを通じて)は、`pipeline[].uses`に"../"を含む値や絶対パスを設定できました。`pkg/build/compile.go`内の`(*Compiled).compilePipeline`関数は`uses`を検証せずに`filepath.Join(pipelineDir, uses + ".yaml")`に直接渡していたため、解決されたパスが各`--pipeline-dir`を逸脱し、melangeプロセスがアクセス可能な任意のYAML解析可能ファイルを読み取る可能性がありました。読み込まれたファイルはその後melangeパイプラインとして解釈され、その`runs:`ブロックはビルドサンドボックス内で`/bin/sh -c`経由で実行されます。したがって、木構造外のファイルからのシェルコマンドがビルド中に実行され、通常はインツリーのパイプライン定義をカバーするレビュー境界を回避できます。この問題はmelange v0.43.4でコミット5829ca4により修正されました。修正では、絶対パスや".."を含む`uses`の値を拒否し、(`filepath.Clean`の後に`filepath.Rel`を使って)解決されたターゲットがパイプラインディレクトリ内に留まることを検証しています。回避策としては、信頼できるソースからの設定ファイルに対してのみ`melange build`を実行してください。ユーザー提供のmelange設定をビルドするCIシステムでは、`pipeline[].uses`の値に対して手動レビューを導入し、".."や先頭に"/"を含むものを拒否することでビルドを制御してください。
CVSS による深刻度 (CVSS とは?)

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


Chainguard
  • Melange 0.32.0 以上 0.43.4 未満

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

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

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

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

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

  1. CVE-2026-29050
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-29050
更新履歴

  • [2026年04月30日]
      掲載