Unrated severityNVD Advisory· Published May 11, 2009· Updated Apr 23, 2026
CVE-2009-1194
CVE-2009-1194
Description
Integer overflow in the pango_glyph_string_set_size function in pango/glyphstring.c in Pango before 1.24 allows context-dependent attackers to cause a denial of service (application crash) or possibly execute arbitrary code via a long glyph string that triggers a heap-based buffer overflow, as demonstrated by a long document.location value in Firefox.
Affected products
11cpe:2.3:a:pango:pango:*:*:*:*:*:*:*:*+ 10 more
- cpe:2.3:a:pango:pango:*:*:*:*:*:*:*:*range: <=1.22
- cpe:2.3:a:pango:pango:1.2:*:*:*:*:*:*:*
- cpe:2.3:a:pango:pango:1.4:*:*:*:*:*:*:*
- cpe:2.3:a:pango:pango:1.6:*:*:*:*:*:*:*
- cpe:2.3:a:pango:pango:1.8:*:*:*:*:*:*:*
- cpe:2.3:a:pango:pango:1.10:*:*:*:*:*:*:*
- cpe:2.3:a:pango:pango:1.12:*:*:*:*:*:*:*
- cpe:2.3:a:pango:pango:1.14:*:*:*:*:*:*:*
- cpe:2.3:a:pango:pango:1.16:*:*:*:*:*:*:*
- cpe:2.3:a:pango:pango:1.18:*:*:*:*:*:*:*
- cpe:2.3:a:pango:pango:1.20:*:*:*:*:*:*:*
Patches
14de30e5500ea[glyphstring] Handle overflow with very long glyphstrings
1 file changed · +20 −6
pango/glyphstring.c+20 −6 modified@@ -61,14 +61,28 @@ pango_glyph_string_set_size (PangoGlyphString *string, gint new_len) while (new_len > string->space) { if (string->space == 0) - string->space = 1; + { + string->space = 4; + } else - string->space *= 2; - - if (string->space < 0) { - g_warning ("glyph string length overflows maximum integer size, truncated"); - new_len = string->space = G_MAXINT - 8; + const guint max_space = + MIN (G_MAXINT, G_MAXSIZE / MAX (sizeof(PangoGlyphInfo), sizeof(gint))); + + guint more_space = (guint)string->space * 2; + + if (more_space > max_space) + { + more_space = max_space; + + if ((guint)new_len > max_space) + { + g_error ("%s: failed to allocate glyph string of length %i\n", + G_STRLOC, new_len); + } + } + + string->space = more_space; } }
Vulnerability mechanics
Generated by null/stub on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
31- www.ocert.org/advisories/ocert-2009-001.htmlnvdPatch
- bugzilla.redhat.com/show_bug.cginvdExploit
- github.com/bratsche/pango/commit/4de30e5500eaeb49f4bf0b7a07f718e149a2ed5envd
- lists.opensuse.org/opensuse-security-announce/2009-07/msg00002.htmlnvd
- lists.opensuse.org/opensuse-security-announce/2009-07/msg00005.htmlnvd
- lists.opensuse.org/opensuse-security-announce/2009-08/msg00002.htmlnvd
- osvdb.org/54279nvd
- secunia.com/advisories/35018nvd
- secunia.com/advisories/35021nvd
- secunia.com/advisories/35027nvd
- secunia.com/advisories/35038nvd
- secunia.com/advisories/35685nvd
- secunia.com/advisories/35914nvd
- secunia.com/advisories/36005nvd
- secunia.com/advisories/36145nvd
- sunsolve.sun.com/search/document.donvd
- www.debian.org/security/2009/dsa-1798nvd
- www.mozilla.org/security/announce/2009/mfsa2009-36.htmlnvd
- www.openwall.com/lists/oss-security/2009/05/07/1nvd
- www.redhat.com/support/errata/RHSA-2009-0476.htmlnvd
- www.securityfocus.com/archive/1/503349/100/0/threadednvd
- www.securityfocus.com/bid/34870nvd
- www.securityfocus.com/bid/35758nvd
- www.securitytracker.com/idnvd
- www.ubuntu.com/usn/USN-773-1nvd
- www.vupen.com/english/advisories/2009/1269nvd
- www.vupen.com/english/advisories/2009/1972nvd
- bugzilla.mozilla.org/show_bug.cginvd
- exchange.xforce.ibmcloud.com/vulnerabilities/50397nvd
- launchpad.net/bugs/cve/2009-1194nvd
- oval.cisecurity.org/repository/search/definition/oval%3Aorg.mitre.oval%3Adef%3A10137nvd
News mentions
0No linked articles in our index yet.