Kentico Xperience CMS XSS Vulnerability Allows Remote Code Execution
2025/04/01 gbhackers — 企業や組織で広く使用されている Kentico Xperience CMS に、クロスサイト・スクリプティング (XSS) 脆弱性を足がかりとする、リモート・コード実行 (RCE:Remote Code Execution) 攻撃チェーンが発見された。この攻撃チェーンは研究者により公開され、詳細な PoC を通じて、その潜在的な危険性が明らかにしている。そのための調査は、現在も続けられている。

CVE-2025-2748:XSS 脆弱性
watchTowr Labs のレポートによると、新たに発見された脆弱性チェーンの発端となったのは、Kentico のリソース処理メカニズムである。
この脆弱性の深刻さは、主に以下の2つの問題に起因している:
- CMS.UIControls.GetResourceHandler を介して、認証なしでリソースを取得できる。
- MultiFileUploader.ashx 機能により、認証なしでファイルをアップロードできる。
これらの脆弱性が組み合わせる攻撃者は、高度なエクスプロイトを実行できる状態にあることが判明した。
脆弱性チェーンの一連の手順
STEP 1:認証なしのリソース取得
研究者たちが最初に特定したのは、画像/ファイル/スクリプトなどのリソースを、認証なしで取得できるハンドラーだった。当初、この機能は影響の少ないものと見なされていたが、SVG ファイルを処理できる点に、大きな問題があることが判明した。なぜなら、SVG ファイルには JavaScript の埋め込みが可能であり、特定の条件下において、それを読み取ったブラウザが、悪意のコードを実行する可能性があるからだ。
STEP 2:基本的なファイル・アップロード機能
さらに、CMS.DocumentEngine.Web.UI.ContentUploader という、認証を必要としないファイル・アップロード・ハンドラーが発見された。それを悪用する攻撃者は、推測が容易かつ Web からのアクセスが可能なディレクトリ内への、一時ファイルのアップロードを可能にする。ファイルの拡張子は、ホワイト・リストにより制限されているが、このハンドラーの機能により、さらなる攻撃の足がかりが生じていた。
STEP 3:カスタム・ファイル・ハンドラーの悪用
Kentico のカスタム・ファイル処理メカニズムには、ZIP ファイル処理機能が取り込まれている。この機能により、ZIP アーカイブ内のファイルを仮想的に解凍し、Web 上で表示させることが可能になる。
まず、研究者たちが作成したのは、実行可能な JavaScript を埋め込んだ悪意の SVG ファイルであり、それを ZIP アーカイブにパッケージ化し、ファイル・アップロード・ハンドラーを使用してアップロードした。そして、アップロードされた ZIP ファイルを、リソース取得用ハンドラーを介して呼び出すことで、アーカイブ内の SVG が実行され、XSS が成立した。
Proof of Concept (PoC)
攻撃者は、poc.svg を含む poc.zip をアップロードし、以下のエンドポイントを介して、それを読み取ることが可能となる。
http://hostname/CMSPages/GetResource.ashx?image=/App_Data/CMSTemp/MultiFileUploader/00/00000000-0000-0000-0000-000000000000/[poc.zip]/poc.svg
それにより JavaScript が実行され、XSS アラートが発生する。
STEP 4:認証後の RCE
Kentico Xperience などの CMS プラットフォームでは、特権ユーザーに対して操作権限が付与され、そこにファイル・アップロード機能などが含まれるケースが大半である。
研究者たちが実証したのは、認証済みユーザーの権限を用いて、アプリケーションのファイル拡張子のホワイト・リスト制限を緩めた上で、ASPX ファイルを Web ルート・ディレクトリにアップロードして、RCE を実行する方法である。
アップロードされた Web シェルを悪用する攻撃者は、リモートから任意のコードを実行できるようになる。このステップには認証が必要だが、アクセス制御の甘さや、特権管理の問題がもたらすリスクが浮き彫りにされた。
研究チームは、この脆弱性チェーンと、悪用プロセスを示すための、実演動画も公開している。その PoC は、ホスト上での悪意のコマンド実行を実証するものであり、この脆弱性チェーンの深刻さを具体的に示している。
すでに Kentico は、これらの脆弱性を修正している。研究チームは、その迅速かつ誠実な対応を高く評価しており、同社の真摯な姿勢を示していると述べている。
緩和策
Kentico の管理者に推奨される対策は、以下の通りだ:
- Kentico が提供する、最新のセキュリティ・アップデートを直ちに適用する。
- 脆弱なハンドラー (GetResource.ashx/MultiFileUploader.ashx など) への、未認証でのアクセスを制限する。
- 一時的なファイル・ハンドラーや、カスタム・ファイル・ハンドラーについては、ファイル・アップロードを厳密に検証する。
- ファイル拡張子の変更などの、特権的な機能については、強力な認証/認可メカニズムを適用する。
XSS 脆弱性は、軽視されることが多いが、今回のような条件が揃えば、深刻な RCE にまで発展する可能性があることが実証された。
Kentico Xperience CMS のユーザーに強く推奨されるのは、同様の問題の有無についてシステムを確認し、悪用を防ぐためのベスト・プラクティスを導入することである。
Kentico Xperience CMS の脆弱性が FIX とのことですが、XSS の脆弱性 CVE-2025-2748 を悪用する攻撃者は、標的サイトへのファイル・アップロードを可能にすることろから、シンガーチェーンが始まる花とのことです。続いて、ファイル・ハンドラーで用いられるファイル拡張子のホワイト・リストが緩められ、さまざまな軽視のファイルがアップロードされ、最終的には RCE に至るというものです。実際の環境での悪用は観測されていないようですが、このような PoC が提供されると、攻撃が始まるのも時間の問題だと思えてきます。ご利用のチームは、十分に ご注意ください。
You must be logged in to post a comment.