DNN の脆弱性 CVE-2025-52488 が FIX:Unicode 正規化の欠陥を突くNTLM 認証情報の窃取

DNN Vulnerability Exposes NTLM Credentials via Unicode Normalization Bypass

2025/07/08 gbhackers — 最も古い OSS コンテンツ管理システムの一つである、DNN (旧DotNetNuke) に存在する深刻な脆弱性を、セキュリティ研究者たちが発見した。この脆弱性を悪用する攻撃者は、高度な Unicode 正規化バイパス技術を用いて、NTLM 認証情報の窃取を可能にするという。この脆弱性 CVE-2025-52488 が影響を及ぼす範囲は、広く利用されているエンタープライズ向けの CMS プラットフォームとなる。この脆弱性を悪用する攻撃者は、巧妙に細工されたエクスプロイトを介して、Windows および .NET Framework を侵害し、防御目的で実装されたコーディング対策を回避し得るという。

CVE-2025-52488:技術的詳細および影響

CVE-2025-52488 を悪用する未認証の攻撃者は、任意のホストに対して SMB コールを実行できる。

この脆弱性の原因は、DNN の HTML エディタ・プロバイダ、具体的に言うと、FileUploader.ashx.cs に存在する認証前のファイル・アップロード・エンドポイントに存在する。

悪意のファイル・パス操作を防ぐための複数のセキュリティ境界を、開発者たちが実装しているが、この脆弱性を突く攻撃者は、それら保護処理の後段に行われる Unicode 正規化処理の悪用を可能にする。

その攻撃ベクターは、C# の Path.Combine 関数の危険な挙動を利用するものである。この関数は、2 番目の引数に絶対パスが含まれる場合に、先行するパス構成要素を無視するという欠陥を持つ。

File.Exists などの Windows ファイル・システム操作と、この問題を連鎖させる攻撃者は、自身が管理するサーバへの SMB 接続をトリガーして、NTLM 資格情報を漏洩させる機会を得る。

この脆弱性により、セキュリティ検証後に Unicode 文字を ASCII に正規化する、DNN の ConvertUnicodeChars 関数が悪用される。

研究者たちが確認したのは、特定の Unicode 文字である U+FF0E (全角ピリオド) および U+FF3C (全角逆スラッシュ) が、イニシャルのセキュリティ・フィルタを通過していくが、ASCII 変換時に標準のピリオドおよびバックスラッシュに正規化されることだった。

この脆弱性の悪用プロセスでは、上記 Unicode 文字を取り込むように細工された、ファイル名を持つファイルがアップロードされる。

たとえば、以下のようなファイル名は、イニシャル検証を通過する一方で、正規化後には悪意のパスとしての UNC パス を形成することになる:

%EF%BC%BC%EF%BC%BCoqi3o3fv9cpyquhbd6h8bx19a0gs4nsc%EF%BC%8Eoastify%EF%BC%8Ecom%EF%BC%BC%EF%BC%BCc$%EF%BC%BC%EF%BC%BCan.jpg

セキュリティへの影響と緩和策

この脆弱性は、Windows 環境において、特に DNN のようなレガシー・アプリをホストする古いシステムにおいて、NTLM 認証情報の窃取という、根深い脅威を引き起こしてしまう。

この攻撃が成功する理由は、セキュリティ境界の検査後に Unicode の正規化が行われ、典型的な TOCTOU (time-of-check-time-of-use) の脆弱性が発生してしまう構造にある。

DNN を運用する組織にとって必要なことは、パッチが適用されたバージョンへと速やかにアップデートし、外部ホストへの SMB 接続 を遮断するための、ネットワーク・レベルでの緩和策を実施することである。

この脆弱性は、Browser.aspx.cs 内の同様のエンドポイントを経由して、認証済みユーザにも影響を及ぼすが、このベクターにおいては認証が必要となる。

この発見が強調するのは、セキュリティが求められるアプリにおける適切な Unicode 処理の重要性と、ファイル・システム操作時における文字エンコーディング変換を考慮した、包括的なセキュリティ・テストの必要性である。