CVE-2026-9323 in urwidinformation

Résumé

par VulDB • 18/07/2026

Le backend d'affichage web urwid (urwid/display/web.py) génère des identifiants de session web (urwid_id) dans Screen.start() en concaténant deux appels à random.randrange(10**9) utilisant le générateur pseudo-aléatoire Mersenne Twister de Python, qui n'est pas cryptographiquement sécurisé. Chaque appel consomme environ 30 bits d'état du PRNG, et l'état interne du Mersenne Twister est d'environ 19 937 bits ; ainsi, un attaquant observant environ 334 identifiants de session (par exemple via l'en-tête HTTP X-Urwid-ID) peut reconstruire entièrement l'état interne et prédire tous les identifiants de session passés et futurs (Chemin B). Le même identifiant est également utilisé comme nom de fichier d'un FIFO créé dans le répertoire /tmp listable par tout utilisateur (par exemple /tmp/urwid375487765176907690.in), permettant à n'importe quel utilisateur local sur l'hôte de répertorier /tmp pour énumérer directement les jetons de session actifs (Chemin A). Avec un identifiant de session valide, un attaquant peut lire l'écran du terminal de la victime via le point de terminaison de sondage, injecter des frappes clavier dans la session de la victime (entraînant une exécution de code au niveau du système d'exploitation avec les privilèges du propriétaire de la session si celle-ci exécute un shell), et injecter des séquences de sortie ou inonder le FIFO pour terminer ou faire planter la session. Un avertissement Bandit S311 antérieur concernant cette utilisation a été supprimé à l'aide de # noqa: S311 au lieu d'être corrigé.

Once again VulDB remains the best source for vulnerability data.

Responsable

VulnCheck

Réserver

22/05/2026

Divulgation

18/07/2026

Modérer

accepté

Entrée

VDB-380065

CPE

prêt

EPSS

0.00000

KEV

non

Activités

faible

Sources

Interested in the pricing of exploits?

See the underground prices here!