Red Hat Bugzilla – Bug 478888
CVE-2008-2383 xterm: arbitrary command injection
Last modified: 2009-01-08 07:44:23 EST
Common Vulnerabilities and Exposures assigned an identifier CVE-2008-2383 to the following vulnerability:
CRLF injection vulnerability in xterm allows user-assisted attackers to execute arbitrary commands via LF (aka \n) characters surrounding a command name within a Device Control Request Status String (DECRQSS) escape sequence in a text file, a related issue to CVE-2003-0063 and CVE-2003-0071.
This issue affects xterm as shipped with Red Hat Enterprise Linux 3, 4, and 5.
Created attachment 328245 [details]
Patch extracted from upstream
The version of xterm as shipped in Red Hat Enterprise Linux 2.1 is not affected by this issue.
The reason is that in the older xterm version control characters such as \n characters were not allowed in a device control string. When building up the string to pass to do_dcs, xterm uses the sos_table (VTPrsTbl.c) to parse each character. Each valid character is set to CASE_IGNORE. So a trace of a vulnerable (rhel-3) xterm shows:
parse 001B -> 5 ansi_table
parse 0050 -> 87 esc_table
CASE_DCS: Device Control String
parse 0024 -> 1 sos_table
CASE_IGNORE - Ignore character 24
parse 0071 -> 1 sos_table
CASE_IGNORE - Ignore character 71
parse 000D -> 1 sos_table
CASE_IGNORE - Ignore character 0D
parse 000A -> 1 sos_table
parse 001B -> 5 sos_table
parse 005C -> 90 esc_table
CASE_ST: End of String (18 bytes)
But in the xterm in RHEL-2.1 control characters are not ignored:
parse 001B -> 7 ansi_table
parse 0050 -> 89 esc_table
parse 0024 -> 3 sos_table
parse 0071 -> 3 sos_table
parse 000D -> 6 sos_table
parse 000A -> 8 ansi_table
That renders this flaw as unexploitable on RHEL-2.1 xterm.
Updated xterm packages for Red Hat Enterprise Linux 3, 4, 5 have been built and are currently completing testing. As soon as they have passed they will be pushed to Red Hat Network.
Issue was fixed upstream in version 238:
Red Hat Enterprise Linux updates: