Lucene search

K
securityvulnsSecurityvulnsSECURITYVULNS:DOC:21785
HistoryMay 07, 2009 - 12:00 a.m.

[oCERT-2009-001] Pango integer overflow in heap allocation size calculations

2009-05-0700:00:00
vulners.com
9

#2009-001 Pango integer overflow in heap allocation size calculations

Description:

Pango is a library for laying out and rendering text, with an emphasis
on internationalization. Pango suffers from a multiplicative integer
overflow which may lead to a potentially exploitable, heap overflow
depending on the calling conditions. For example, this vulnerability is
remotely reachable in Firefox by creating an overly large
document.location value but only results in a process-terminating,
allocation error (denial of service).

The affected function is pango_glyph_string_set_size. An overflow check
when doubling the size neglects the overflow possible on the subsequent
allocation:

string->glyphs = g_realloc (string->glyphs, string->space *
sizeof (PangoGlyphInfo));

Note that other font rendering subsystems suffer from similar issues and
should be cross-checked by maintainers.

Affected version:

Pango < 1.24

Fixed version:

Pango >= 1.24
(check with your package maintainer for backports)

Credit: Will Drewry, oCERT Team | Google Security Team.
Special thanks to Karl Tomlinson for extended analysis of the
impact on Firefox.

CVE: CVE-2009-1194

Timeline:
2009-02-22: attempted to contact upstream via [email protected]
2009-02-25: bug filed with Mozilla against firefox
2009-03-02: Behdad Esfahbod patched Pango upstream for 1.24
2009-04-13: vendor-sec alerted regarding backporting the silent pango fix
2009-04-23: embargo date and CVE assigned (thanks Josh Bressers!)
2009-05-07: advisory released

References:
http://www.pango.org/
https://bugzilla.mozilla.org/show_bug.cgi?id=480134

Links:
http://www.mozilla.org/firefox

Permalink:
http://www.ocert.org/advisories/ocert-2009-001.html


Will Drewry <[email protected]>
oCERT Team :: http://ocert.org