Telerik UI の脆弱性連鎖、AES-CBCパディングオラクルから未認証リモートコード実行へ

Telerik UI for ASP.NET AJAXで新たに公表された一連の脆弱性は、未認証のAES-CBCパディングオラクルをリモートコード実行(RCE)へと発展させることが可能です。この問題は、脆弱なウェブアプリケーション上で悪用される恐れがあります。

この問題はTelerik UI for ASP.NET AJAXのリリース2010.1.309から2026.2.519までに影響します。Progress Softwareによると、バージョン2026.2.708(2026年第2四半期SP1)ではこの脆弱性連鎖の悪用が防止されているとのことです。

セキュリティ研究者のMarcio Almeida氏は、RadAsyncUploadがAES-CBCとPKCS#7パディングを用いて、クライアントが制御可能な暗号化状態を処理していることを発見しました。

この影響を受けるコードは、暗号文のパディングが不正な場合と、パディングは正しいものの復号結果が不正なJSONとなる場合とで、異なる挙動を示します。

この違いがパディングオラクルを生み出します。攻撃者は暗号化データの改変とサーバーの応答結果、あるいは応答時間の観測を繰り返すことで平文を推測でき、最終的には暗号鍵を持たなくても任意の暗号文を作成できるようになります。

この脆弱性連鎖の中心にあるのは、暗号化された_serializedConfigurationmetaDataフィールドを含むRadAsyncUploadの状態です。CBC暗号化そのものには完全性保護の機能がありません。

パッチ適用前のTelerikは改ざんされた暗号文を受け入れてしまうため、このオラクルを利用して中間ブロック値を復元し、設定オブジェクトの一部を偽造することが可能でした。

研究者たちは、サーバーが正規に発行した設定のプレフィックスと、JSONキー内に仕込んだ「犠牲」となる破損ブロックを使用し、その後に制御可能なサフィックスを追加しました。

これにより、再利用したプレフィックス内にセッションに紐づく正当な値を維持したまま、AllowedFileExtensions設定を上書きしてDLLのアップロードを許可できるようになりました。

RCEの実現には、さらに2つの問題が必要でした。CVE-2026-13181は、アプリケーションのFileUploadedハンドラーがUploadResultプロパティを読み取る際に到達する、保護されていないType.GetType呼び出しに起因します。

偽造した暗号化済みmetaDataオブジェクトによって、AsyncUploadTypeNameとシリアライズされたオブジェクトデータを制御できます。

研究者たちはSystem.Configuration.Install.AssemblyInstallerをデシリアライズ用のガジェットとして利用し、アップロードした混合モードのDLLを読み込ませました。このアセンブリを読み込ませることで、DLLのエントリーポイントを介してネイティブコードを実行できます。

CVE-2026-13182は、復号処理とパース処理の違いから生じるオラクルに関するものです。CVE-2026-13183は、タイミングに基づく亜種を対象としています。詳細なエラーが隠蔽・正規化されている場合でも、不正なパディングはパディングが正しくJSONパースまで進む場合よりも早い段階で失敗します。

Marcio Almeida氏の報告によると、このタイミングの差はリモートからでも測定可能であり、customErrorsの設定や統一されたエラーページは攻撃の難易度を上げるものの、根本的な暗号上の弱点を解消するものではないとのことです。

この脆弱性の悪用には条件があり、すべての環境で成立するわけではありません。標的となるサイトには、RadAsyncUploadを含む到達可能なページが存在し、そのサーバー側のFileUploadedハンドラーがUploadResultにアクセスしている必要があり、さらにデフォルトではない明示的なTelerik.AsyncUpload.ConfigurationEncryptionKeyを使用している必要があります。

Marcio Almeida氏は、特定の設定条件下で予測可能なフォールバックHMACキーが関わるCVE-2026-13184について、一時アップロードフォルダの値を操作するための任意の経路になり得ると説明しています。

Progressは2026.2.708において、該当ハンドラーのblobに対する暗号方式をAES-CBCからAES-GCMに置き換えました。認証付き暗号化では、復号前にタグを検証し、PKCS#7パディングも用いないため、暗号文の改変を防ぎ、応答ベース・タイミングベース双方のオラクルを排除できます。

各組織はTelerik.Web.UI.dllの導入状況を洗い出し、2026.2.708以降へアップデートしたうえで、インターネットに公開されているASP.NETアプリケーションのRadAsyncUploadコントロールを評価する必要があります。

防御側は、アップロード用の一時パスに存在する不審なDLLファイル、ウェブルート内の想定外のASPXファイル、そして研究者たちが悪用の痕跡として挙げているw3wp.exeプロセスがcmd.exeを起動する挙動を調査すべきです。

セキュリティチームに、不審な活動をより迅速に調査し、業務への影響が拡大する前に脅威を封じ込めるための可視性とコンテキストを提供しましょう。ANY.RUNで調査を強化する

翻訳元: https://cyberpress.org/telerik-ui-flaws-chain-aes-cbc-padding-oracle/

本記事は cyberpress.org の記事を翻訳・要約したものです。