WordPress WPML Plugin の脆弱性 CVE-2024-6386 が FIX:PoC エクスプロイトも提供

CVE-2024-6386 (CVSS 9.9) in WPML Plugin Exposes Millions of WordPress Sites to RCE Attacks

2024/08/26 SecurityOnline — WordPress WPML plugin に発見された深刻な脆弱性 CVE-2024-6386 (CVSS:9.9) は、完全な乗っ取りのリスクに、100万以上のWeb サイトをさらすものだ。この脆弱性は、ポスト・エディタにアクセスできる認証されたリモート攻撃者に対して、サーバ上での悪意のコード実行を許すものだ。その結果として、データの盗難/Web サイトの改竄に加えて、将来の攻撃のためのバックドア設置などの、深刻な結果につながる可能性が生じる。


脆弱性 CVE-2024-6386 は、WPML (WordPress Multilingual) plugin の Twig Server-Side Template Injection (SSTI) の欠陥に起因する RCE の脆弱性であり、4.6.12 以下のバージョンに影響を与える。この脆弱性の根本的な原因は、プラグインが Twig Template をレンダリングする際の、不適切な入力の検証とサニタイズにある。つまり、この重大な見落としにより、テンプレートへの悪意のコードを注入が達成され、サーバ上で実行されてしまう可能性が生じている。

WPML は、サイト管理者による翻訳を管理し、多言語コンテンツのシームレスな作成を可能にするものだ。 この、最も人気のある WordPress プラグインが 広く使用されていることを考えると、この脆弱性の大きな影響が懸念されている。

この欠陥は、Web サイトでのカスタム言語スイッチャーの実装に使用される、プラグインのショートコード機能である [wpml_language_switcher] に関連している。

このショートコードは、WPML_LS_Shortcodes クラスの callback() 関数を利用しており、この関数が WPML_LS_Public_API クラスの render() 関数を呼び出している。この render() 関数は、ショートコードのコンテンツとして提供される Twig Template を処理するが、必要な入力サニタイズが行われていないため、悪意のコードが注入されて実行される可能性が残る。

この脆弱性の悪用に成功した攻撃者は、侵害したサイトを完全に制御できるようになり、Web シェルなどの悪意のツールを展開し、永続性維持/データ流出に加えて、接続されたシステムへのさらなる攻撃を仕掛けることなどが可能になる。この脆弱性に対しては、すでに PoC エクスプロイト・コードが公開されているため、Web サイト管理者は早急に対策を講じる必要がある。

この脆弱性の発見者である stealthcopter というセキュリティ研究者は、Wordfence Bug Bounty Program を介して報告し、$1,639 の報奨金を獲得している。

すでに WPML の開発者は、必要な入力検証とサニタイズを実装したバージョン 4.6.13 をリリースし、この脆弱性に対応している。Web サイト管理者に強く推奨されるのは、WPML プラグインの最新バージョンへと直ちにアップデートし、悪用のリスクを軽減することだ。