CVE-2025-61765
python-socketio に、特定のマルチサーバーデプロイメントでの悪意のある pickle デシリアライゼーションを通じた任意の Python コード実行 (RCE) の脆弱性
- 公開済み
- 2025/10/06
- 更新済み
- 2025/10/22
- CNA の割り当て
- GitHub_M
- 観察された証拠
- 2026/08/08
プライマリ CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:A/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:L低 · 今後 30 日間
- パーセンタイル
- 40.6%
- モデルの日付
- 2026/09/21
EPSS は統計的な推定値であり、確実性や影響の尺度ではありません。 CVSS、KEV ステータス、暴露、環境と組み合わせます。
概要
python-socketio は、Socket.IO のリアルタイムクライアントおよびサーバーの Python 実装です。5.14.0 より前の python-socketio のリモートコード実行の脆弱性により、攻撃者は、サーバーが内部通信用に使用するメッセージキューへのアクセスを事前に取得したマルチサーバー構成において、悪意のある pickle 逆シリアライズを通じて任意の Python コードを実行できます。Socket.IO サーバーがサーバー間通信用に Redis などのメッセージキューバックエンドを使用するように構成されている場合、サーバー間で送信されるメッセージは Python の `pickle` モジュールを使用してエンコードされます。サーバーはメッセージキューを介してこれらのメッセージのいずれかを受信すると、それを信頼できるものとみなして直ちに逆シリアライズします。この脆弱性は、Python の `pickle.loads()` 関数を使用したメッセージの逆シリアライズに起因します。攻撃者は、事前にメッセージキューへのアクセスを取得しておくことで、Python の `__reduce__` メソッドを介して逆シリアライズ中に任意のコードを実行する、巧妙に細工された pickle ペイロードを python-socketio サーバーに送信できます。この脆弱性は、メッセージキューが侵害されたデプロイメントにのみ影響します。この攻撃により、攻撃者は Socket.IO サーバープロセスのコンテキストおよび権限で任意のコードを実行する可能性があります。メッセージキューを使用しないシングルサーバーシステム、および安全なメッセージキューを備えたマルチサーバーシステムは、この脆弱性の影響を受けません。メッセージキューのデプロイメントにおける標準的なセキュリティ慣行の遵守に加えて、python-socketio パッケージのユーザーはバージョン 5.14.0 以降にアップグレードできます。このバージョンでは `pickle` モジュールが削除され、サーバー間メッセージングにははるかに安全な JSON エンコーディングが使用されます。
ソース
1Socket.IOにおける安全でないpickleのデシリアライゼーションの脆弱性の概念実証
責任ある使用
脆弱性情報は、自分が所有しているシステム、またはテストを許可されているシステムでのみ使用してください。 Kitploit は公開研究メタデータにリンクしており、エクスプロイト コードや悪意のあるペイロードは保存しません。