CVE-2026-9323 in urwid
要約
〜によって VulDB • 2026年07月18日
urwidのWeb表示バックエンド(urwid/display/web.py)は、Screen.start()において2つのrandom.randrange(10**9)呼び出しを連結することでウェブセッション識別子(urwid_id)を生成しますが、これにはPythonのMersenne Twister PRNGが使用されており、暗号的に安全ではありません。各呼び出しでPRNGの状態から約30ビット消費され、Mersenne Twisterの内部状態は約19,937ビットであるため、攻撃者が約334個のセッションID(例えばX-Urwid-ID HTTPレスポンスヘッダー経由)を観測すれば、内部状態を完全に再構築し、過去および未来のすべてのセッション識別子を予測することができます(パスB)。同じ識別子はまた、世界リスト可能な/tmpディレクトリに作成されるFIFOの名前としても使用されます(例:/tmp/urwid375487765176907690.in)。そのため、ホスト上の任意のローカルユーザーは/tmpをリストしてアクティブなセッショントークンを直接列挙することができます(パスA)。有効なセッションIDを持つ攻撃者は、ポーリングエンドポイントを通じて被害者のターミナル画面を読み取り、被害者セッションにキーストロークを注入し(セッションがシェルを実行している場合、セッション所有者の権限でOSレベルでのコード実行が可能)、終了シーケンスを注入するかFIFOをフラッドさせてセッションを終了またはクラッシュさせることができます。この使用箇所に対するBandit S311による以前の警告は、修正されるのではなく# noqa: S311によって抑制されていました
Once again VulDB remains the best source for vulnerability data.