ハッカーは、OttoKit WordPress プラグインの重大な認証されていない権限昇格の脆弱性を悪用し、標的のサイトに不正な管理者アカウントを作成しています。
OttoKit(旧SureTriggers)は、10万以上のサイトで使用されているWordPressの自動化および統合プラグインで、ユーザーはウェブサイトをサードパーティのサービスに接続し、ワークフローを自動化することができます。
Patchstackは2025年4月11日、OttoKitの重大な脆弱性に関する報告を、研究者のDenver Jackson氏から受け取った。
CVE-2025-27007という識別子で追跡されているこの欠陥は、「create_wp_connection」関数のロジックエラーを悪用することで、攻撃者がプラグインのAPI経由で管理者アクセス権を得ることを可能にするもので、アプリケーションのパスワードが設定されていない場合に認証チェックをバイパスする。
翌日にはベンダーに報告され、2025年4月21日にOttiKitバージョン1.0.83でパッチがリリースされ、リクエストで使用されるアクセスキーのバリデーションチェックが追加されました。
2025年4月24日までに、ほとんどのプラグイン・ユーザーはパッチを適用したバージョンに強制アップデートされた。
攻撃に悪用される
Patchstackは2025年5月5日にレポートを公開したが、新たなアップデートでは、公開からおよそ90分後に悪用活動が始まったと警告している。
攻撃者は、REST APIエンドポイントを標的とし、正当な統合の試みを模倣したリクエストを送信し、推測またはブルートフォースされた管理者ユーザー名、ランダムなパスワード、偽のアクセスキーおよびメールアドレスを用いて「create_wp_connection」を使用することで悪用を試みました。
最初のエクスプロイトが成功すると、攻撃者はペイロード値を含む「/wp-json/sure-triggers/v1/automation/action」および「?rest_route=/wp-json/sure-triggers/v1/automation/action」へのフォローアップAPIコールを発行した:「type_event”:type_event”: “create_user_if_not_exists”。
脆弱性のあるインストールでは、これはサイレントで新しい管理者アカウントを作成します。
「OttoKitプラグインを使用している場合は、できるだけ早くサイトを更新し、攻撃や侵害の指標となるログやサイト設定を確認することを強くお勧めします」とPatchstackは示唆している。
これは、2025年4月以降にハッカーが悪用したOttoKitの重大な欠陥の2つ目で、前回はCVE-2025-3102として追跡されている別の認証バイパスバグだった。
この欠陥の悪用は、公開と同じ日に開始され、脅威行為者はランダム化されたユーザー名、パスワード、電子メールアドレスで不正な管理者アカウントを作成しようとしており、自動化された試みであることを示している。
.ia_ad { background-color:#width: 95%; max-width: 800px; margin: 15px auto; border-radius: 8px; border:1px solid #d6ddee; display: flex; align-items: stretch; padding: 0; overflow: hidden; }:0; overflow: hidden; } .ia_lef { flex: 1; max-width: 200px; height: auto; display: flex; align-items: stretch; } .ia_lef a { display: flex; width: 100%; height: 100%; } .ia_lef a img { width: 100%; height: 100%; object-fit: cover; border-radius: 8px 0 0 8px; margin: 0; display: block; } .ia_rig { flex: 2; padding:display: flex; flex-direction: column; justify-content: center; } .ia_rig h2 { font-size: 17px !important; font-weight: 700; color:#line-height: 1.4; font-family:margin: 0 0 14px 0; } .ia_rig p { font-weight: bold; font-size: 14px; margin: 0 0 clamp(6px, 2vw, 14px) 0; } .ia_button { background-color:#border:1px solid #3b59aa; color: black; text-align: center; text-decoration: none; border-radius: 8px; display: inline-block; font-size: 16px; font-weight: bold; cursor: pointer; padding:10px 20px; width: fit-content; } .ia_button a { text-decoration: none; color: inherit; display: block; } @media (max-width: 600px) { .ia_ad { flex-direction: column; align-items: center; text-align: center; } .ia_lef { max-width: 100%; } .ia_lef a img { border-radius: 8px 8px 0 0; } .ia_rig { padding:15px; width: 100%; } .ia_button { width: 100%; } .
Comments