Vigil@nce: GNU Enscript, buffer overflow via escape setfilename
November 2008 by Vigil@nce
An attacker can invite the victim to convert a malicious file with GNU Enscript in order to execute code on his computer.
Consequences: user access/rights
Means of attack: 1 attack
Ability of attacker: technician (2/4)
Confidence: confirmed by the editor (5/5)
Diffusion of the vulnerable configuration: medium (2/3)
Creation date: 06/11/2008
Novell Linux Desktop
Novell Open Enterprise Server
SUSE LINUX Enterprise Server
Unix - plateform
The GNU Enscript program converts a text file to PostScript, HTML or RTF.
The "-e" option of enscript enables the support of special patterns escaped by the null character (by default). For example, a text document can contain: \x00bgcolorr g b : indicates the background color \x00setfilenamefilename : indicates the file to use etc.
The read_special_escape() function of the src/psgen.c file analyses these special patterns. When the "setfilename" pattern is used, the file name (its size can be up to 4096 bytes) is copied to a 512 bytes array, which creates an overflow.
An attacker can therefore create a text file containing a malicious "setfilename" pattern, and invite the victim to open it with "enscript -e" in order to execute code on his computer.
Identifiers: BID-31858, CVE-2008-3863, FEDORA-2008-9351, FEDORA-2008-9372, SUSE-SR:2008:024, VIGILANCE-VUL-8225