CVE Catalog

CVE-2026-103022

MediumCVSS 5.3
Published: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.47%

41th percentile - higher than 41% of all known CVEs

Summary

In Urwid before 4.0.7, handle_short_request() in urwid/display/web.py performs unguarded character encoding on POST input and unguarded UTF-8 decoding on polling update socket output. A remote attacker with a valid X-Urwid-ID session token can submit non-ASCII POST data causing UnicodeEncodeError or non-UTF-8 polling output causing UnicodeDecodeError, terminating request processing.

Risk Assessment

The POST exception path leaves an opened file descriptor unclosed for the CGI process lifetime, so repeated requests can cause denial of service for the web display interface.

Recommendation

Upgrade Urwid to version 4.0.7 or later, which contains the fix.

Other vulnerabilities in Urwid

Original NVD description (English source)

Urwid is a console user interface library for Python. Prior to 4.0.7, handle_short_request() in urwid/display/web.py performs unguarded character encoding on POST input and unguarded UTF-8 decoding on polling update socket output. A remote attacker who obtains a valid X-Urwid-ID session token can submit non-ASCII POST data that raises UnicodeEncodeError, while non-UTF-8 polling output raises UnicodeDecodeError, causing the CGI handler to return an error and terminate request processing. The POST exception path also leaves an opened file descriptor unclosed for the CGI process lifetime, so repeated requests can cause denial of service for the web display interface. This issue is fixed in version 4.0.7.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS