Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ats-magick-unsigned — Apache Traffic Server 10.2.0 - 高 - リモート - ファイル書き込み - 署名なしの magick convert が nobody として書き込みを行う | Kitploit
ツール/GitHubGitHub/abraxas/ats-magick-unsigned
脆弱性分析エクスプロイトウェブアプリケーション悪用情報収集ウェブセキュリティラボと実践
GitHubabraxas/ats-magick-unsigned

ats-magick-unsigned

Apache Traffic Server 10.2.0 - 高 - リモート - ファイル書き込み - 署名なしの magick convert が nobody として書き込みを行う

リポジトリを見る
115日前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

Abraxas Labs - ats-magick-unsigned

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  ats-magick-unsigned

ats-magick-unsigned

クラス: ファイル書き込み 到達範囲: リモート

Apache Traffic Server 10.2.0 (b1df7334) - Apache Software Foundation

experimental magick は、plugin.config に RSA キーがない場合、?magick= (percent+base64 の convert argv) から ImageMagick の ConvertImageCommand を実行します。verified = nullptr == key_ です。README には、悪用を避けるためにキーが存在すると記載されています。引数なしで magick.so をロードするのがプラグインのデフォルトです。

plugin.config に RSA 公開鍵を設定した署名付き CONTROL は 403 となり、witness ファイルは生成されません。クラスはファイル書き込みのままです。ディストリビューションの policy.xml は URL/shell デリゲートを無効化していることがよくあります。RCE に誇張しないでください。

IDCVE 未割当
クラスファイル書き込み (署名なし convert argv)
到達範囲リモート (キーなしの magick.so 経由で未認証 HTTP ?magick=)
CWECWE-347, CWE-73
CVSSHigh: 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
製品Apache Traffic Server
影響範囲10.2.0 (b1df7334b39a878971c376da849e8da4984918b6) experimental magick 署名なし convert
認証なし
ライセンスGNU Affero GPL v3.0
ラボ127.0.0.1:18800 のみ

公開タグ 10.2.0 の peel b1df7334 に固定しました。ラボはループバック上のソースビルド ats-10.2.0-lab:local リバースプロキシです。署名なし convert -write png:/tmp/oracle/ATS-MAGICK-UNSIGNED-WITNESS。witness ファイルは 161 バイト、所有者は nobody。署名付き CONTROL は 403。

攻撃者ができること

互換性のある Content-Type のオリジン画像に対して、magick.so がロードされ RSA キーがない状態で、未認証の GET /img.png?magick= を実行できます。

手法シンク権限
未認証 GET /img.png?magick= 署名なし convert -write png:/tmp/oracle/ATS-MAGICK-UNSIGNED-WITNESSverified = nullptr == key_ (magick.cc:593-609) の後 ConvertImageCommand整合性 / ファイル (ラボ実証): 161 バイトの witness ファイル、所有者 nobody。ログに ImageMagick's syntax。HTTP 200。
plugin.config に RSA キーを設定した同じクエリEVP_DigestVerifyクローズ (ラボ実証): 403 署名検証失敗。witness ファイルなし。
巨大なオリジンブロブ無制限の blob_可用性 (推測): プロセスメモリの圧迫。CVE-2026-58186 の上限設定の類似ケース。この High 行とは別。
IM の URL / shell デリゲートpolicy.xmlこのラボではクローズ: HTTP/HTTPS/URL/MVG/shell デリゲートはなし。RCE とは呼ばないこと。

ラボ実証と推測の区別: nobody としての署名なしファイル書き込み、署名付き 403、構文ログはラボ実証です。無制限 blob の DoS は推測です。RCE は主張していません。

必要条件: 検証キーなしの experimental magick.so、および convert パスの書き込みを許可する ImageMagick policy.xml。デフォルトの plugin.config ではロードされません。

クローズのままの隣接面

面ラボ
magick が RSA 公開鍵付きでロードされているCONTROL 403、control-sigfail=yes、ファイルなし
magick がロードされていないクエリ magick は無効
wasm WASI path_openNOENT
リクエストボディを IM 入力とするオリジンレスポンスの blob が入力
webp_transform の境界付きデコードCVE-2026-58186 はクローズ済み。magick の blob は境界が設定されていなかった類似ケース

CVE-2026-58186ではない。MagickのREADMEには、悪用を避けるためにキーが存在するとすでに記載されていた。残っているのは、そのキーなしでプラグインを読み込むことだ。

ラボ

python3 ats-magick-unsigned-Abraxas-Labs.py

または

cd lab
./run.sh

ループバック 127.0.0.1:18800(2番目のリスナー上で署名付き CONTROL)。Compose プロジェクト ats-magick-unsigned。イメージ ats-10.2.0-lab:local。ウィットネス ATS-MAGICK-UNSIGNED-WITNESS。最終行:

SUCCESS ats-magick-unsigned unsigned-http=200 file-write=yes uid=nobody syntax-log=true control-http=403 control-sigfail=yes ATS-MAGICK-UNSIGNED-WITNESS

修正

key_ が null の場合はフェイルクローズしてください。検証済みの magickSig がない限り、クライアントからの ?magick= に対して ConvertImageCommand を実行しないでください。キーの欠落は「プラグインの設定ミス」として扱い、「署名なしの変換は問題ない」とは見なさないでください。blob_ は webp_transform で上限が設けられたのと同様に上限を設けてください。

それまでの間は、本番サイズの RSA 公開鍵なしで magick.so をロードしないでください。ディストリビューションの policy.xml は署名の代替にはなりません。

参考資料

  • github.com/apache/trafficserver タグ 10.2.0 (b1df7334b39a878971c376da849e8da4984918b6)
  • plugins/experimental/magick/magick.cc verified = nullptr == key_
  • plugins/experimental/magick/README
  • 関連項目(クローズ済み、本件とは別): CVE-2026-58186 webp_transform のデコード境界
  • CWE-347 · CWE-73
ツールをダウンロード