Debian Package Tracker
Register | Log in
Subscribe

urwid

Choose email to subscribe with

general
  • source: urwid (main)
  • version: 4.1.3-1
  • maintainer: Debian Python Team (DMD)
  • uploaders: Ian Ward [DMD]
  • arch: all any
  • std-ver: 4.7.4
  • VCS: Git (Browse, QA)
versions [more versions can be listed by madison] [old versions available from snapshot.debian.org]
[pool directory]
  • o-o-stable: 2.1.2-1
  • oldstable: 2.1.2-4
  • old-sec: 2.1.2-4+deb12u1
  • stable: 2.6.16-1
  • testing: 3.0.4-1
  • unstable: 4.1.3-1
versioned links
  • 2.1.2-1: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 2.1.2-4: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 2.1.2-4+deb12u1: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 2.6.16-1: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 3.0.4-1: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 4.1.3-1: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
binaries
  • python-urwid-doc
  • python3-urwid (1 bugs: 0, 1, 0, 0)
action needed
1 security issue in forky high

There is 1 open security issue in forky.

1 important issue:
  • CVE-2026-9323: 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
Created: 2026-07-19 Last update: 2026-09-16 00:00
1 security issue in bullseye high

There is 1 open security issue in bullseye.

1 important issue:
  • CVE-2026-9323: 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
Created: 2026-07-19 Last update: 2026-08-09 22:31
1 low-priority security issue in trixie low

There is 1 open security issue in trixie.

1 issue left for the package maintainer to handle:
  • CVE-2026-9323: (needs triaging) 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

You can find information about how to handle this issue in the security team's documentation.

Created: 2026-07-19 Last update: 2026-09-16 00:00
testing migrations
  • excuses:
    • Migration status for urwid (3.0.4-1 to 4.1.3-1): BLOCKED: Rejected/violates migration policy/introduces a regression
    • Issues preventing migration:
    • ∙ ∙ Autopkgtest for gertty/1.6.0-2: amd64: No tests, superficial or marked flaky ♻, arm64: No tests, superficial or marked flaky ♻ (reference ♻), armhf: No tests, superficial or marked flaky ♻, i386: Test triggered, ppc64el: No tests, superficial or marked flaky ♻, riscv64: No tests, superficial or marked flaky ♻ (reference ♻)
    • ∙ ∙ Autopkgtest for khal/1:0.14.0+ds-1: amd64: Pass, arm64: Pass, armhf: Pass, i386: Test triggered, ppc64el: Pass, riscv64: Pass
    • ∙ ∙ Autopkgtest for mandos/1.8.19-1.1: amd64: Pass, arm64: Pass, armhf: Pass, i386: Test triggered, ppc64el: Pass, riscv64: Pass
    • ∙ ∙ Autopkgtest for python-qemu-qmp/0.0.6-1: amd64: Regression ♻ (reference ♻), arm64: Regression ♻ (reference ♻), armhf: Regression ♻ (reference ♻), i386: Test triggered, ppc64el: Regression ♻ (reference ♻), riscv64: Regression ♻ (reference ♻)
    • ∙ ∙ Autopkgtest for python-term-image/0.7.2-2: amd64: Pass, arm64: Pass, armhf: Pass, i386: Test triggered, ppc64el: Pass, riscv64: Pass
    • ∙ ∙ Autopkgtest for python-urwid-readline/0.15.1-1: amd64: Pass, arm64: Pass, armhf: Pass, i386: Test triggered, ppc64el: Pass, riscv64: Pass
    • ∙ ∙ Autopkgtest for python-urwid-utils/0.1.3.dev0-4: amd64: No tests, superficial or marked flaky ♻, arm64: No tests, superficial or marked flaky ♻ (reference ♻), armhf: No tests, superficial or marked flaky ♻, i386: Test triggered, ppc64el: No tests, superficial or marked flaky ♻, riscv64: No tests, superficial or marked flaky ♻ (reference ♻)
    • ∙ ∙ Autopkgtest for python-urwidtrees/1.0.4-1: amd64: No tests, superficial or marked flaky ♻, arm64: No tests, superficial or marked flaky ♻, armhf: No tests, superficial or marked flaky ♻, i386: Test triggered, ppc64el: No tests, superficial or marked flaky ♻, riscv64: No tests, superficial or marked flaky ♻ (reference ♻)
    • ∙ ∙ Autopkgtest for rover/1.0: amd64: No tests, superficial or marked flaky ♻, arm64: No tests, superficial or marked flaky ♻ (reference ♻), armhf: No tests, superficial or marked flaky ♻, i386: Test triggered, ppc64el: No tests, superficial or marked flaky ♻, riscv64: No tests, superficial or marked flaky ♻ (reference ♻)
    • ∙ ∙ Autopkgtest for sen/0.8.1-1: amd64: Regression ♻ (reference ♻), arm64: Regression ♻ (reference ♻), armhf: Regression ♻ (reference ♻), i386: Test triggered, ppc64el: Regression ♻ (reference ♻), riscv64: Regression ♻ (reference ♻)
    • ∙ ∙ Autopkgtest for urlscan/1.1.2-1: amd64: Pass, arm64: Pass, armhf: Pass, i386: Test triggered, ppc64el: Pass, riscv64: Pass
    • ∙ ∙ Autopkgtest for urwid/4.1.3-1: amd64: Pass, arm64: Pass, armhf: Pass, i386: Test triggered, ppc64el: Pass, riscv64: Pass
    • ∙ ∙ Autopkgtest for vit/2.3.4-1: amd64: Pass, arm64: Pass, armhf: Pass, i386: Test triggered, ppc64el: Pass, riscv64: Pass
    • ∙ ∙ Too young, only 1 of 5 days old
    • Additional info (not blocking):
    • ∙ ∙ Piuparts tested OK - https://piuparts.debian.org/sid/source/u/urwid.html
    • ∙ ∙ Reproduced on amd64 - info
    • ∙ ∙ Reproduced on arm64 - info
    • ∙ ∙ Reproduced on armhf - info
    • ∙ ∙ Reproduced on i386 - info
    • Not considered
news
[rss feed]
  • [2026-09-15] Accepted urwid 4.1.3-1 (source) into unstable (Boyuan Yang)
  • [2026-09-15] Accepted urwid 2.1.2-4+deb12u1 (source) into oldstable-security (Abhijith PA)
  • [2026-03-04] urwid 3.0.4-1 MIGRATED to testing (Debian testing watch)
  • [2026-01-14] Accepted urwid 3.0.4-1 (source) into unstable (Boyuan Yang)
  • [2024-11-24] urwid 2.6.16-1 MIGRATED to testing (Debian testing watch)
  • [2024-11-18] Accepted urwid 2.6.16-1 (source) into unstable (Boyuan Yang)
  • [2024-07-16] urwid 2.6.15-1 MIGRATED to testing (Debian testing watch)
  • [2024-07-10] Accepted urwid 2.6.15-1 (source) into unstable (Boyuan Yang)
  • [2024-06-19] urwid 2.6.14-1 MIGRATED to testing (Debian testing watch)
  • [2024-06-12] Accepted urwid 2.6.14-1 (source) into unstable (Boyuan Yang)
  • [2024-04-01] urwid 2.6.10-1 MIGRATED to testing (Debian testing watch)
  • [2024-04-01] urwid 2.6.10-1 MIGRATED to testing (Debian testing watch)
  • [2024-03-26] Accepted urwid 2.6.10-1 (source) into unstable (Boyuan Yang)
  • [2024-03-01] urwid 2.6.4-1 MIGRATED to testing (Debian testing watch)
  • [2024-02-24] Accepted urwid 2.6.4-1 (source) into unstable (Boyuan Yang)
  • [2024-02-16] urwid 2.5.2-1 MIGRATED to testing (Debian testing watch)
  • [2024-02-10] Accepted urwid 2.5.2-1 (source) into unstable (Boyuan Yang)
  • [2024-01-30] urwid 2.4.6-0.1 MIGRATED to testing (Debian testing watch)
  • [2024-01-24] Accepted urwid 2.4.6-0.1 (source) into unstable (Matthias Klose)
  • [2024-01-16] urwid 2.4.1-0.2 MIGRATED to testing (Debian testing watch)
  • [2024-01-11] Accepted urwid 2.4.1-0.2 (source) into unstable (Matthias Klose)
  • [2024-01-08] urwid 2.1.2-4.2 MIGRATED to testing (Debian testing watch)
  • [2024-01-04] Accepted urwid 2.4.1-0.1 (source) into experimental (Matthias Klose)
  • [2024-01-03] Accepted urwid 2.3.4-0.1 (source) into experimental (Matthias Klose)
  • [2024-01-03] Accepted urwid 2.1.2-4.2 (source) into unstable (Matthias Klose)
  • [2024-01-01] Accepted urwid 2.1.2-4.1 (source) into unstable (Matthias Klose)
  • [2022-12-03] urwid 2.1.2-4 MIGRATED to testing (Debian testing watch)
  • [2022-11-27] Accepted urwid 2.1.2-4 (source) into unstable (Jelmer Vernooij) (signed by: Jelmer Vernooij)
  • [2022-11-23] urwid 2.1.2-3 MIGRATED to testing (Debian testing watch)
  • [2022-11-18] Accepted urwid 2.1.2-3 (source) into unstable (Jochen Sprickerhof)
  • 1
  • 2
bugs [bug history graph]
  • all: 1
  • RC: 0
  • I&N: 1
  • M&W: 0
  • F&P: 0
  • patch: 0
links
  • homepage
  • lintian
  • buildd: logs, reproducibility, cross
  • popcon
  • browse source code
  • other distros
  • security tracker
  • debci
ubuntu Ubuntu logo [Information about Ubuntu for Debian Developers]
  • version: 3.0.4-1
  • 6 bugs (1 patch)

Debian Package Tracker — Copyright 2013-2025 The Distro Tracker Developers
Report problems to the tracker.debian.org pseudo-package in the Debian BTS.
Documentation — Bugs — Git Repository — Contributing