
CVE-2026-49009 の POC、Mender Server における認証済みパストラバーサルからRCEに至る問題
▄█████ ██ ██ ██████ ████▄ ▄██▄ ████▄ ▄██▀▀▀ ██ ██ ▄█▀▀█▄ ▄██▄ ▄██▄ ▄█▀▀█▄
██ ██▄▄██ ██▄▄ ▄▄▄ ▄██▀ ██ ██ ▄██▀ ██▄▄▄ ▄▄▄ ▀█████ ▀▀▀██ ██ ██ ██ ██ ▀▀▀██
▀█████ ▀██▀ ██▄▄▄▄ ███▄▄ ▀██▀ ███▄▄ ▀█▄▄█▀ ██ ▄▄██▀ ▀██▀ ▀██▀ ▄▄██▀
░█▄█░█▀▀░█▀█░█▀▄░█▀▀░█▀▄░░░█▀▀░█▀▀░█▀▄░█░█░█▀▀░█▀▄░░░█▀▄░█▀▀░█▀▀░
░█░█░█▀▀░█░█░█░█░█▀▀░█▀▄░░░▀▀█░█▀▀░█▀▄░▀▄▀░█▀▀░█▀▄░░░█▀▄░█░░░█▀▀░
░▀░▀░▀▀▀░▀░▀░▀▀░░▀▀▀░▀░▀░░░▀▀▀░▀▀▀░▀░▀░░▀░░▀▀▀░▀░▀░░░▀░▀░▀▀▀░▀▀▀░
私は Mender Server のシングルファイルアーティファクト生成ワークフローにおいて、深刻な脆弱性を発見し、責任を持って報告しました。この問題は、ユーザーが制御する args.filename フィールドにおける入力サニタイズとパス横断バグとして始まりましたが、私はこのバグが単なる任意ファイル書き込みにとどまらないことを示しました。アーティファクト生成コンテナ内のワーカーが所有する実行可能ファイルを標的にすることで、問題を確実なリモートコード実行へと昇格させました。
実際には、アーティファクト生成にアクセスできる認証済み攻撃者が、create-artifact-worker 内の /usr/bin/mender-artifact を上書きできました。その後、通常のアーティファクト生成時にワークフローが同じバイナリを呼び出すため、攻撃者が制御するペイロードが実行されることになります。
これにより、横断/任意上書きバグが、アーティファクトワークフローにおけるバックエンドコード実行問題へと変わりました。
脆弱なワークフローは、シングルファイルアーティファクト生成フローにおいて攻撃者が制御する入力を受け入れ、アップロードされたコンテンツの書き込み先を十分に制限していませんでした。
私は args.filename を制御し、パス横断を悪用して意図された保存先以外に書き込めることを発見しました。通常のアーティファクト入力ファイルの代わりに、書き込み先をワーカーコンテナ内の /usr/bin/mender-artifact に向けました。脆弱な設定ではランタイムユーザーがそのバイナリを所有していたため、書き込みは成功しました。
その後、ワークフローはアーティファクトビルドプロセスの一部として mender-artifact を呼び出します。すでにその実行可能ファイルを自身のペイロードで置き換えていたため、ワーカーは攻撃者制御のコードを実行しました。
攻撃者に必要なもの:
大まかには、エクスプロイトチェーンは次のように機能しました:
/usr/bin/mender-artifact を標的とする悪意のある値を指定しました。mender-artifact を呼び出しました。これが重要だったのは、脆弱な書き込み先が単なるファイルではなかったからです。それは、ワークフローが即座に信頼して実行するバイナリでした。
攻撃が成功すると、共有アーティファクト生成ワーカー内で任意のコマンドを実行できました。
そこから、影響は単一のリクエストを超えて広がりました:
つまり、これは単なるファイル書き込みバグではありませんでした。ソフトウェア配信パスに位置する重要なバックエンドコンポーネントにおけるコード実行バグでした。
HackerOne は最終的にこの報告を Critical と評価し、$3,000 の報奨金 を授与しました。これは検証中に実証された実際の影響と一致しています。
根本原因は、シングルファイルアーティファクト生成パスにおける信頼境界の欠陥でした。
ワークフローは、攻撃者が制御するパス入力をバックエンド処理チェーンのあまりに深い段階まで信頼していました。ユーザーが操作したファイル名が意図された場所を脱出し、機密性の高いファイルシステムターゲットに到達することを許しました。そして、ワーカー環境がその誤りを増幅しました。なぜなら、ランタイムユーザーが書き込み可能であり、かつワークフロー自身が後で実行する実行可能パスが露出していたからです。
その組み合わせが、明確なエクスプロイトチェーンを生み出しました。
ユーザー制御のパス入力 → 任意ファイル上書き → 信頼された実行可能ファイルの上書き → バックエンド RCE
CVE-2026-49009 は、一見狭い入力サニタイズの問題が、信頼されたワークフローが攻撃者制御のデータを実行可能パスに書き込むときに、完全な RCE チェーンに変わり得ることを示しています。
脆弱なバージョンでは、認証済み攻撃者がシングルファイルアーティファクト生成機能を、パス横断、任意上書き、リモートコード実行のチェーンに変えられました。修正版ではその経路を遮断し、ワークフローを意図された動作に戻しました。