NetBSD Security Advisory 2006-021: Integer overflows in CID-keyed font parser

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

NetBSD Security Advisory 2006-021
=================================

Topic: Integer overflows in CID-keyed font parser

Version: NetBSD-current: source prior to September 13, 2006
NetBSD 4.0_BETA: affected
NetBSD 3.1_RC3: not affected
NetBSD 3.0.*: affected
NetBSD 3.0: affected
NetBSD 2.1: affected
NetBSD 2.0.*: affected
NetBSD 2.0: affected
pkgsrc: xorg-libs-6.9.0nb8 and earlier
XFree86-libs-4.4.0nb8 and earlier

Severity: Potential privilege escalation

Fixed: NetBSD-current: September 13, 2006
NetBSD-4 branch: September 16, 2006
(4.0 will include the fix)
NetBSD-3-0 branch: September 16, 2006
(3.0.2 will include the fix)
NetBSD-3 branch: September 16, 2006
(3.1 will include the fix)
NetBSD-2-1 branch: September 18, 2006
NetBSD-2-0 branch: September 18, 2006
NetBSD-2 branch: September 18, 2006
pkgsrc: xorg-libs-6.9.0nb9 corrects the issue
XFree86-libs-4.4.0nb9 corrects the issue

Abstract
========

There are integer overflows present in the CID-keys font parser as
supplied with both XFree86 and X11R7.0. This can potentially lead
to arbitrary code execution. These vulnerabilities can be triggered
by a user parsing untrusted CID encoded Type 1 fonts.

These vulnerabilities have been assigned CVE references CVE-2006-3739
and CVE-2006-3740.

Technical Details
=================

There are two separate integer overflows that are present:

* scan_cidfont() function when handling 'CMap' and 'CIDFont' font data.
* CIDAFM() function when handling AFM (Adobe Font Metric) files

Both vulnerabilities can potentially lead to arbitrary code execution.

Solutions and Workarounds
=========================

While X11R7.0 from X.Org is in both the HEAD and netbsd-4 branches it
is currently not integrated fully into the base distribution. No NetBSD
releases contain X11R7.0 binaries and as such it is not necessary to
rebuild anything from source. The instructions below will patch the
relevant X11R7.0 source files so that if users are experimenting with
X11R7.0 it will contain the necessary security fixes.

A possible temporary workaround for this issue is to disable Type 1
fonts in your X Server configuration. To do this under the Modules
section of the X Server configuration file comment out the line
containing:

Load "type1"

For X.Org the configuration file will be xorg.conf and for XFree86
it will be XF86config. This may impact the appearance of applications
run in X Windows.

XFree86-based X servers are included in the NetBSD base distribution,
and will need to be rebuilt. The following instructions describe how
to upgrade your XFree86 binaries by updating your source tree and
rebuilding and installing a new version of XFree86.

* NetBSD-current:

Systems running NetBSD-current dated from before 2006-09-13
should be upgraded to NetBSD-current dated 2006-09-14 or later.

The following files need to be updated from CVS HEAD:
xorg/lib/Xfont/src/Type1/afm.c
xorg/lib/Xfont/src/Type1/scanfont.c
xorg/lib/Xfont/src/Type1/util.c
xfree/xc/lib/font/Type1/afm.c
xfree/xc/lib/font/Type1/scanfont.c
xfree/xc/lib/font/Type1/util.c

To update from CVS, re-build, and re-install XFree86:

# cd xsrc
# cvs update xorg/lib/Xfont/src/Type1/afm.c
# cvs update xorg/lib/Xfont/src/Type1/scanfont.c
# cvs update xorg/lib/Xfont/src/Type1/util.c
# cvs update xfree/xc/lib/font/Type1/afm.c
# cvs update xfree/xc/lib/font/Type1/scanfont.c
# cvs update xfree/xc/lib/font/Type1/util.c
# make build

* NetBSD 3.*:

Systems running NetBSD 3.* sources dated from before
2006-09-16 should be upgraded from NetBSD 3.* sources dated
2006-09-17 or later.

The following files need to be updated from the
netbsd-3 or netbsd-3-0 CVS branch:
xfree/xc/lib/font/Type1/afm.c
xfree/xc/lib/font/Type1/scanfont.c
xfree/xc/lib/font/Type1/util.c

To update from CVS, re-build, and re-install XFree86:

# cd xsrc
# cvs update -r xfree/xc/lib/font/Type1/afm.c
# cvs update -r \
xfree/xc/lib/font/Type1/scanfont.c
# cvs update -r xfree/xc/lib/font/Type1/util.c
# make build

* NetBSD 2.*:

Systems running NetBSD 2.* sources dated from before
2006-09-18 should be upgraded from NetBSD 2.* sources dated
2006-09-19 or later.

The following files need to be updated from the
netbsd-2, netbsd-2-0 or netbsd-2-1 CVS branch:
xfree/xc/lib/font/Type1/afm.c
xfree/xc/lib/font/Type1/scanfont.c
xfree/xc/lib/font/Type1/util.c

To update from CVS, re-build, and re-install XFree86:

# cd xsrc
# cvs update -r xfree/xc/lib/font/Type1/afm.c
# cvs update -r \
xfree/xc/lib/font/Type1/scanfont.c
# cvs update -r xfree/xc/lib/font/Type1/util.c
# make build

Thanks To
=========

iDefense for co-ordinating the disclosure of this issue.

Revision History
================

2006-09-21 Initial release

More Information
================

Advisories may be updated as new information becomes available.
The most recent version of this advisory (PGP signed) can be found at
ftp://ftp.NetBSD.org/pub/NetBSD/security/advisories/NetBSD-SA2006-021.tx...

Information about NetBSD and NetBSD security can be found at
http://www.NetBSD.org/ and http://www.NetBSD.org/Security/.

Copyright 2006, The NetBSD Foundation, Inc. All Rights Reserved.
Redistribution permitted only in full, unmodified form.

$NetBSD: NetBSD-SA2006-021.txt,v 1.4 2006/09/21 20:18:29 adrianp Exp $

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (NetBSD)

iQCVAwUBRRLz9z5Ru2/4N2IFAQK/PwQAmaGo/cE63W5B9xThHzSmW9W0SkFJZbJU
9Ebe6a5GpxAtOJj/L3pvPbstRWrH/U0l784W4tmLZzNMbVY+laXgnSpLAYTuxq83
uKS2jDEmHnK+W+dTeqp1K8L7GeA+MFSOCVR+/41IQGGeNW9HX5MWM9zpn38PJomY
Li781c6VUh8=
=GzGb
-----END PGP SIGNATURE-----

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Mailing list for NetBSD/x86_64 created, Frank van der Linden, (Thu Feb 27, 8:07 am)
Announcing NetBSD 5.0.1, Soren Jacobsen, (Sun Aug 2, 4:48 pm)
NetBSD Security Advisory 2003-010: remote panic in OSI netwo..., NetBSD Security Officer, (Mon Aug 4, 2:13 pm)
10 years of pkgsrc - the interviews, Mark Weinem, (Wed Oct 17, 10:26 am)
NetBSD Security Advisory 2009-001: PF firewall remote Denial..., NetBSD Security Officer, (Tue Jun 23, 4:50 pm)
NetBSD Security Advisory 2004-002: Inconsistent IPv6 path MT..., NetBSD Security-Officer, (Thu Feb 19, 9:36 am)
anoncvs server is back on line, Christos Zoulas, (Fri Jan 14, 4:19 pm)
The pkgsrc-2005Q3 Branch, Alistair Crooks, (Mon Sep 26, 5:44 pm)
NetBSD Security Advisory 2005-005: cgd(4) key destruction on..., NetBSD Security-Officer, (Mon Nov 7, 6:56 pm)
NetBSD Security Advisory 2008-005: OpenSSH Multiple issues, NetBSD Security-Officer, (Mon Apr 21, 6:27 pm)
End of life for the NetBSD 1.6 branch, Matthias Scheler, (Tue May 16, 12:58 pm)
Donations for server upgrades, Michael Graff, (Fri Jul 26, 6:56 pm)
NetBSD Security Advisory 2006-021: Integer overflows in CID-..., NetBSD Security-Officer, (Thu Sep 21, 6:13 pm)
NetBSD Security Advisory 2008-013: IPv6 Neighbor Discovery P..., NetBSD Security-Officer, (Mon Oct 27, 6:44 pm)