概要
セキュリティ研究者が、Apache ActiveMQという人気のオープンソースメッセージブローカーに重大な脆弱性が存在することを発見しました。この脆弱性はCVE-2025-66168としてトラッキングされており、攻撃者は特別に作成された、不正なネットワークパケットを送ることで、メッセージブローカーの異常な動作を引き起こし、サービス拒否(DoS)状況を引き起こす可能性があります。
脆弱性の詳細
この脆弱性は、Apache ActiveMQがMQTT(Message Queuing Telemetry Transport)制御パケットを処理する方法に問題があるため発生します。MQTTは、ネットワーク帯域が制限されているインターネット接続デバイスや環境で頻繁に使用される軽量なメッセージングプロトコルです。
公式アドバイザリによると、ソフトウェアは「remaining length」フィールドを適切に検証しない場合があります。不正なパケットがこのセキュリティチェックを通過すると、デコードプロセス中に整数オーバーフローが発生します。この数学的なオーバーフローにより、ActiveMQブローカーはメッセージの総長を誤って計算します。システムは単一のペイロードを複数の異なるMQTT制御パケットとして誤解し、ブローカーが非準拠のクライアントと相互作用する際に予期しない動作を引き起こします。
攻撃の手順
- 攻撃者はまず標準の認証プロセスを完了し、サーバーと安全な接続を確立する必要があります。
- 接続が確立された後、攻撃者は操作されたパケットを送信してシステムを破壊します。
この動作は、MQTT v3.1.1仕様で厳しく制限されている「remaining length」フィールドの最大4バイトの制限を直接違反します。
影響を受けるシステムと対策
Apacheソフトウェア財団は、このパケット検証の脆弱性に対処する緊急セキュリティアップデートをリリースしました。脆弱性は、Apache ActiveMQコアアプリケーション、Allモジュール、およびMQTTモジュールのいくつかの特定のバージョンに影響を及ぼします。
脆弱なソフトウェアには、5.19.2未満のバージョン、6.0.0シリーズの6.1.8まで、および6.2.0のバージョンが含まれます。システム管理者は、これらの古いリリースを実行しているかどうかをすぐに調査する必要があります。
ユーザーは、次の公式パッチ版にアップグレードすることを強く推奨します:
- バージョン 5.19.2
- バージョン 6.1.9
- バージョン 6.2.1
これらのアップデートを正しくインストールすると、長さの検証プロセスを修正し、整数オーバーフローを防ぎ、安全なパケット処理を復元します。
結論
この脆弱性は、MQTTトランスポートコネクタをアクティブにしているブローカーにのみ影響を及ぼします。MQTTトラフィックを処理しないシステムは、この特定の脆弱性から完全に影響を受けません。
システム管理者は、すぐにパッチを適用することが重要です。また、直ちにパッチを適用できない場合は、ビジネスオペレーションが必要としない場合、MQTTトランスポートコネクタをブローカーで一時的に無効にすることも検討してください。
元記事: https://gbhackers.com/apache-activemq-flaw-enables-dos-attacks/
