CVE-2026-9323 in urwidИнформация

Сводка

по VulDB • 18.07.2026

Бэкэнд веб-дисплея urwid (urwid/display/web.py) генерирует идентификаторы веб-сессий (urwid_id) в функции Screen.start() путем конкатенации результатов двух вызовов random.randrange(10**9), использующих псевдослучайный генератор Mersenne Twister из Python, который не является криптографически стойким. Каждый такой вызов потребляет примерно 30 бит состояния PRNG, а внутреннее состояние Mersenne Twister составляет около 19 937 бит; следовательно, злоумышленник, наблюдающий за приблизительно 334 идентификаторами сессий (например, через HTTP-заголовок ответа X-Urwid-ID), может полностью восстановить внутреннее состояние и предсказать все предыдущие и будущие идентификаторы сессий (Путь B). Тот же самый идентификатор также используется в качестве имени FIFO-файла, создаваемого в общедоступной для просмотра директории /tmp (например, /tmp/urwid375487765176907690.in), поэтому любой локальный пользователь на хосте может просмотреть содержимое /tmp и перечислить активные токены сессий напрямую (Путь A). Имея валидный идентификатор сессии, злоумышленник может читать экран терминала жертвы через конечную точку опроса, внедрять нажатия клавиш в сессию жертвы (что приводит к выполнению кода на уровне ОС с привилегиями владельца сессии, если в ней запущена оболочка), а также внедрять escape-последовательности или переполнять FIFO для завершения или аварийного падения сессии. Предупреждение Bandit S311 об этой уязвимости было подавлено директивой # noqa: S311 вместо того, чтобы устранить проблему.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Ответственный

VulnCheck

Резервировать

22.05.2026

Раскрытие

18.07.2026

Модерация

принято

Вход

VDB-380065

EPSS

0.00000

KEV

Нет

Деятельности

Низкий

Источники

Do you want to use VulDB in your project?

Use the official API to access entries easily!