Insecure PRNG and Information Exposure in urwid Web Display Backend
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- High
- Attack requirements
- Present
- Impact type
- —
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Partial Red Hat: 13 fixed, 2 without a fix
Attack profile from CVSS 4.0 · CNA. Fix status from CNA and Red Hat.
Summary
The urwid web display backend (urwid/display/web.py) generates web session identifiers (urwid_id) in Screen.start() by concatenating two random.randrange(10**9) calls that use Python's Mersenne Twister PRNG, which is not cryptographically secure. Each call consumes approximately 30 bits of PRNG state, and the Mersenne Twister internal state is approximately 19,937 bits, so an attacker who observes approximately 334 session IDs (for example via the X-Urwid-ID HTTP response header) can fully reconstruct the internal state and predict all past and future session IDs (Path B). The same identifier is also used as the filename of a FIFO created in the world-listable /tmp directory (for example /tmp/urwid375487765176907690.in), so any local user on the host can list /tmp to enumerate active session tokens directly (Path A). With a valid session ID, an attacker can read the victim's terminal screen via the polling endpoint, inject keystrokes into the victim's session (yielding OS-level code execution with the session owner's privileges if the session runs a shell), and inject exit sequences or flood the FIFO to terminate or crash the session. A prior Bandit S311 warning on this usage was suppressed with # noqa: S311 rather than fixed
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
No affected products listed by the sources yet.
Remediation
Red Hat 10 advisories
- RHSA-2026:60353 Released 2026-08-26 · Red Hat rating Importantpython-urwid security update
- Red Hat Enterprise Linux BaseOS EUS (v. 10.0) python-urwid-2.5.3-4.el10_0.5, python3-urwid-2.5.3-4.el10_0.5
- RHSA-2026:59198 Released 2026-08-24 · Red Hat rating Importantpython-urwid security update
- Red Hat Enterprise Linux BaseOS AUS (v.8.6) python-urwid-1.3.1-4.el8_6.1, python3-urwid-1.3.1-4.el8_6.1
- Red Hat Enterprise Linux BaseOS EUS EXTENSION (v.8.6) python-urwid-1.3.1-4.el8_6.1, python3-urwid-1.3.1-4.el8_6.1
- RHSA-2026:58952 Released 2026-08-24 · Red Hat rating Importantpython-urwid security update
- Red Hat Enterprise Linux BaseOS (v. 9) python-urwid-2.1.2-4.el9_8.1, python3-urwid-2.1.2-4.el9_8.1
Show 7 more Red Hat advisories
- RHSA-2026:58955 Released 2026-08-24 · Red Hat rating Importantpython-urwid security update
- Red Hat Enterprise Linux BaseOS EUS (v.9.6) python-urwid-2.1.2-4.el9_6.1, python3-urwid-2.1.2-4.el9_6.1
- RHSA-2026:58953 Released 2026-08-24 · Red Hat rating Importantpython-urwid security update
- Red Hat Enterprise Linux BaseOS E4S (v.9.4) python-urwid-2.1.2-4.el9_4.1, python3-urwid-2.1.2-4.el9_4.1
- RHSA-2026:58954 Released 2026-08-24 · Red Hat rating Importantpython-urwid security update
- Red Hat Enterprise Linux BaseOS E4S (v.9.2) python-urwid-2.1.2-4.el9_2.1, python3-urwid-2.1.2-4.el9_2.1
- RHSA-2026:58561 Released 2026-08-24 · Red Hat rating Importantpython-urwid security update
- Red Hat Enterprise Linux BaseOS (v. 10) python-urwid-2.5.3-4.el10_2.5, python3-urwid-2.5.3-4.el10_2.5
- RHSA-2026:58562 Released 2026-08-24 · Red Hat rating Importantpython-urwid security update
- Red Hat Enterprise Linux BaseOS (v. 8) python-urwid-1.3.1-5.el8_10, python3-urwid-1.3.1-5.el8_10
- RHSA-2026:57637 Released 2026-08-20 · Red Hat rating Importantpython-urwid security update
- Red Hat Enterprise Linux BaseOS E4S (v.8.8) python-urwid-1.3.1-4.el8_8.1, python3-urwid-1.3.1-4.el8_8.1
- Red Hat Enterprise Linux BaseOS TUS (v.8.8) python-urwid-1.3.1-4.el8_8.1, python3-urwid-1.3.1-4.el8_8.1
- RHSA-2026:57638 Released 2026-08-20 · Red Hat rating Importantpython-urwid security update
- Red Hat Enterprise Linux BaseOS AUS (v.8.4) python-urwid-1.3.1-4.el8_4.1, python3-urwid-1.3.1-4.el8_4.1
- Red Hat Enterprise Linux BaseOS EUS EXTENSION (v.8.4) python-urwid-1.3.1-4.el8_4.1, python3-urwid-1.3.1-4.el8_4.1
Vendor assessments
Red Hat
Red Hat rating: Important. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat Enterprise Linux 6 | Affected | No fix planned: Out of support scope |
| Red Hat Enterprise Linux 7 | Affected | No fix planned: Out of support scope |
| Red Hat Enterprise Linux BaseOS (v. 10) | Fixed | RHSA-2026:58561 |
| Red Hat Enterprise Linux BaseOS (v. 8) | Fixed | RHSA-2026:58562 |
| Red Hat Enterprise Linux BaseOS (v. 9) | Fixed | RHSA-2026:58952 |
| Red Hat Enterprise Linux BaseOS AUS (v.8.4) | Fixed | RHSA-2026:57638 |
| Red Hat Enterprise Linux BaseOS AUS (v.8.6) | Fixed | RHSA-2026:59198 |
| Red Hat Enterprise Linux BaseOS E4S (v.8.8) | Fixed | RHSA-2026:57637 |
| Red Hat Enterprise Linux BaseOS E4S (v.9.2) | Fixed | RHSA-2026:58954 |
| Red Hat Enterprise Linux BaseOS E4S (v.9.4) | Fixed | RHSA-2026:58953 |
| Red Hat Enterprise Linux BaseOS EUS (v. 10.0) | Fixed | RHSA-2026:60353 |
| Red Hat Enterprise Linux BaseOS EUS (v.9.6) | Fixed | RHSA-2026:58955 |
| Red Hat Enterprise Linux BaseOS EUS EXTENSION (v.8.4) | Fixed | RHSA-2026:57638 |
| Red Hat Enterprise Linux BaseOS EUS EXTENSION (v.8.6) | Fixed | RHSA-2026:59198 |
| Red Hat Enterprise Linux BaseOS TUS (v.8.8) | Fixed | RHSA-2026:57637 |
Timeline
- 2026-10-02 Threatist record created from CVE-2026-9323
- 2026-10-03 Alias added: GHSA-83x9-8wvq-rrcp
References
Patch 1
More urwid vulnerabilities
- TI-2026-86148 Encoding errors in Urwid web display handler allow denial of service CVSS 3.1MEDIUM 5.3
Sources
- CVE-2026-9323 · CVE Program
- CVE-2026-9323 · NVD
- FIRST EPSS
- GHSA-83x9-8wvq-rrcp · GitHub Advisory Database · CC BY 4.0
- CVE-2026-9323 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences