An out-of heap-based buffer read flaw was found in the way FreeType font rendering engine performed loading and parsing of file header information for glyph bitmap distribution format (BDF) font files. A remote attacker could provide a BDF font file with specially-crafted BDF header, which once processed in an application linked against FreeType would lead to that application crash.
Upstream bug report:
[1] https://savannah.nongnu.org/bugs/?35643
Upstream patch:
[2] http://git.savannah.gnu.org/cgit/freetype/freetype2.git/commit/?id=cee5d593582801f65c5e127d9de9ca24ebcdc747
Acknowledgements:
Red Hat would like to thank Mateusz Jurczyk of the Google Security Team for reporting this issue.
This is an issue in _bdf_list_ensure() in bdflib.c. When allocating field[] array, a space for at least 4 items is allocated. However, the rest of the code assume that field[] always has at least 5 items. This leads to an off-by-one buffer over-read. field[] items are char*, so this may cause program to use an uninitialized pointer for reading and possibly crash.