Vigil@nce: GNU Enscript, buffer overflow via escape setfilename
November 2008 by Vigil@nce
SYNTHESIS
An attacker can invite the victim to convert a malicious file with
GNU Enscript in order to execute code on his computer.
Gravity: 2/4
Consequences: user access/rights
Provenance: document
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
IMPACTED PRODUCTS
– Fedora
– Novell Linux Desktop
– Novell Open Enterprise Server
– OpenSUSE
– SuSE Linux
– SUSE LINUX Enterprise Server
– Unix - plateform
DESCRIPTION
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.
CHARACTERISTICS
Identifiers: BID-31858, CVE-2008-3863, FEDORA-2008-9351,
FEDORA-2008-9372, SUSE-SR:2008:024, VIGILANCE-VUL-8225