WordPress CleanTalk プラグインには現在、CVE-2024-10542 および CVE-2024-10781 として特定された深刻な認証バイパス脆弱性があり、認証されていない攻撃者がセキュリティ対策をバイパスし、通常は有効な認証を必要とする操作を実行することができます。特に、攻撃者が脆弱性のあるサイトに任意のプラグインをインストールし、有効化することで、リモートでのコード実行やその他の悪意のある行為につながる可能性があるため、サービスを利用している顧客や企業は、できるだけ早く最新バージョンにアップデートする必要があります。
なお、当社のAIWAF製品では、WordPress CleanTalk等のサービスを利用して発生する脆弱性を継続的に監視しており、今後発見される関連する脆弱性についても迅速に対応してまいります。
1. 概要
CleanTalkはWordPressで利用されているスパム対策・セキュリティ対策プラグインで、クラウドベースのサービスです。主にスパムコメントや不正な登録試行をブロックするために利用されており、このサービスにおける認証バイパスの脆弱性であるCVE-2024-10542とCVE-2024-10781を解析しました。
出典 : https://cyberinsider.com/flaws-in-cleantalk-anti-spam-plugin-affect-over-200000-wordpress-sites/
2. 攻撃タイプ
CVE-2024-10542 は、6.43.2 より前のバージョンの WordPress CleanTalk プラグインに、DNS スプーフィングによる認証回避の脆弱性です。
ex) 攻撃構文
GET /?spbc_remote_call_action=<Plugin name>&plugin_name=antispam&ip=cleantalk.org
CVE-2024-10781 は、WordPress CleanTalk プラグインにおいて、6.44 より前のすべてのバージョンで、perform 関数における api_key 値の空値チェックが欠落していることによる認証バイパスの脆弱性です。この脆弱性を悪用することで、未認証の攻撃者によって、任意のプラグインがインストールされ、有効化され、リモートでコードが実行される可能性があります。
ex) 攻撃構文
GET /?spbc_remote_call_token=hashed_token_value&action=some_action
3. 対応
CVE-2024-10542はSpam対策、Anti-Spam、FireWall by CleanTalk 6.44パッチで、CVE-2024-10781はSpam対策、Anti-Spam、FireWall by CleanTalk 6.45パッチで対応しています。
これらの脆弱性は、spbc_remote_call(action|token)のリクエスト値を利用して攻撃されているようであり、弊社のAIWAF製品は、パターンとしてさらに分析し対応する予定です。
4. 結論
WordPress CleanTalk プラグインには、現在 CVE-2024-10542 および CVE-2024-10781 として確認されている重大な認証バイパスの脆弱性があり、認証されていない攻撃者がセキュリティ対策をバイパスし、通常は有効な認証を必要とする操作を実行できる可能性があります。特に、攻撃者が脆弱なサイトに任意のプラグインをインストールして有効化することで、リモートでのコード実行やその他の悪意のある行為につながる可能性があるため、サービスを利用している顧客や企業は、できるだけ早く最新バージョンにアップデートする必要があります。
当社のAIWAF製品では、WordPress CleanTalkのようなサービスの利用に起因する脆弱性の監視を継続しており、関連する脆弱性が発見された場合には、引き続き迅速に対応してまいります。
5. 参考文献
- https://ggonmerr.tistory.com/520
- https://nvd.nist.gov/vuln/detail/CVE-2024-10542
- https://nvd.nist.gov/vuln/detail/CVE-2024-10781
- https://github.com/ubaii/CVE-2024-10542
- https://www.wordfence.com/threat-intel/vulnerabilities/wordpress-plugins/cleantalk-spam-protect/spam-protection-anti-spam-firewall-by-cleantalk-644-authorization-bypass-due-to-missing-empty-value-check-to-unauthenticated-arbitrary-plugin-installation