Python Web Framework Reflex の脆弱性 CVE-2025-47425 が FIX:Admin アカウント乗っ取りの恐れ

High-Risk Flaw in Python Web Framework Reflex Could Lead to Account Takeover

2025/05/19 SecurityOnline — インタラクティブな Web アプリを構築するための、Python ベースの OSS フレームワーク Reflex に、深刻なセキュリティ上の欠陥が発見された。この脆弱性は CVE-2025-47425 の CVSS スコアは 8.1 であり、深刻度が高いことを示している。Reflex の人気は、JavaScript を必要とせずに、Python のみフルスタック Web アプリの構築が可能なところにある。その使いやすさと、パワフルな状態管理のための機能により、最先端のアプリ開発において Reflex は人気を博している。

この脆弱性は、クライアント・サイド・イベントを介した、状態変更に対する不適切な制限に起因する。アドバイザリには、「クライアント・サイド・ストレージの変更を目的としたイベントが、特定のユーザーの状態に関する、任意のフィールドを変更する権限を持っていた。そこに含まれるフィールドには、クライアント・サイド以外のフィールドがあり、その中で最重要なものはプライベート・フィールドとなる」と記されている。

この脆弱性の悪用の前提として、対象となるプライベート・フィールド名を推測が必要となるが、攻撃が成功すると甚大なリスクが生じると思われる。

このアドバイザリは、「アプリ内の状態の、いずれかを変更することで、標的ユーザーを別のロールまたは別のユーザーに変更できる場合には、攻撃者は管理者として行動することも可能になる」と警告している。

この脆弱性は、Reflex フレームワークのバージョン 0.2.7 〜 0.7.11 未満に影響を及ぼす。幸いなことに、すでにパッチが提供され、この問題は対処されている。安全なバージョンは、0.4.9.post1/0.5.10.post1/0.6.8.post1/0.7.1.post1 および、0.7.11 以降の全バージョンである。

Reflex フレームワークを使用する開発者に強く推奨されるのは、速やかに対策を講じて、このリスクを軽減することだ。アプリケーションのセキュリティを確保し、ユーザー・データを保護するためには、パッチ適用済みバージョンへのアップグレードが不可欠となる。さらに、開発者に対して推奨されるのは、パッチ適用後であっても、プライベート・フィールドが適切に保護されていることの確認のために、アプリケーションの状態管理方法を見直すことである。

Python ベースの Web フレームワークである Reflex に、CVSS 値が 8.1 の脆弱性が発生しています。同じく Python 製のWebフレームワークに関する脆弱性として、「Tornado の脆弱性 CVE-2025-47287 が FIX:不適切なログ処理によるリソースの枯渇」という記事も投稿しています。開発者の皆さんは、十分にご注意ください。よろしければ、Python + Framework で検索と併せて、ご参照ください。