libxfont: Stack buffer overflow in parsing of BDF font files (CVE-2013-6462)
Scanning of the libXfont sources with the cppcheck static analyzer
included a report of:
scanf without field width limits can crash with huge input data.
Evaluation of this report by X.Org developers concluded that a BDF
file containing a longer than expected string could overflow the buffer
on the stack. Testing in X servers built with Stack Protector resulted
in an immediate crash when reading a user-provided specially crafted font.
As libXfont is used to read user-specified font files in all X servers
distributed by X.Org, including the Xorg server which is often run with
root privileges or as setuid-root in order to access hardware, this bug
may lead to an unprivileged user acquiring root privileges in some systems.
This bug appears to have been introduced in the initial RCS version
checked in on 1991/05/10, and is thus believed to be present in every X11
release starting with X11R5 up to the current libXfont 1.4.6.
(Manual inspection shows it is present in the sources from the X11R5
tarballs, but not in those from the X11R4 tarballs.)
A fix is available via the attached patch, which is also included in
libXfont 1.4.7, released today, and available in the libXfont git repo:
(from redmine: issue id 2585, created on 2014-01-08, closed on 2014-02-04)
- Revision 6acfd118 by Natanael Copa on 2014-01-14T13:24:18Z:
main/libxfont: security upgrade to 1.4.7 (CVE-2013-6462) ref #2585