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

===========================================================================
             AUSCERT External Security Bulletin Redistribution

                         ESB-2006.0683 -- [NetBSD]
                Integer overflows in CID-keyed font parser
                             22 September 2006

===========================================================================

        AusCERT Security Bulletin Summary
        ---------------------------------

Product:              XFree86
                      X11R7
Publisher:            NetBSD
Operating System:     NetBSD-current
                      NetBSD 4.0_BETA
                      NetBSD 3.0.*
                      NetBSD 3.0
                      NetBSD 2.1
                      NetBSD 2.0.*
                      NetBSD 2.0
Impact:               Execute Arbitrary Code/Commands
Access:               Existing Account
CVE Names:            CVE-2006-3740 CVE-2006-3739

Ref:                  ESB-2006.0655

Original Bulletin:
  ftp://ftp.NetBSD.org/pub/NetBSD/security/advisories/NetBSD-SA2006-021.txt.asc

- --------------------------BEGIN INCLUDED TEXT--------------------

- -----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 <branch_name> xfree/xc/lib/font/Type1/afm.c
	 	# cvs update -r <branch_name> \
			xfree/xc/lib/font/Type1/scanfont.c
		# cvs update -r <branch_name> 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 <branch_name> xfree/xc/lib/font/Type1/afm.c
	 	# cvs update -r <branch_name> \
			xfree/xc/lib/font/Type1/scanfont.c
		# cvs update -r <branch_name> 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.txt.asc

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-----

- --------------------------END INCLUDED TEXT--------------------

You have received this e-mail bulletin as a result of your organisation's
registration with AusCERT. The mailing list you are subscribed to is
maintained within your organisation, so if you do not wish to continue
receiving these bulletins you should contact your local IT manager. If
you do not know who that is, please send an email to auscert@auscert.org.au
and we will forward your request to the appropriate person.

NOTE: Third Party Rights
This security bulletin is provided as a service to AusCERT's members.  As
AusCERT did not write the document quoted above, AusCERT has had no control
over its content. The decision to follow or act on information or advice
contained in this security bulletin is the responsibility of each user or
organisation, and should be considered in accordance with your organisation's
site policies and procedures. AusCERT takes no responsibility for consequences
which may arise from following or acting on information or advice contained in
this security bulletin.

NOTE: This is only the original release of the security bulletin.  It may
not be updated when updates to the original are made.  If downloading at
a later date, it is recommended that the bulletin is retrieved directly
from the author's website to ensure that the information is still current.

Contact information for the authors of the original document is included
in the Security Bulletin above.  If you have any questions or need further
information, please contact them directly.

Previous advisories and external security bulletins can be retrieved from:

        http://www.auscert.org.au/render.html?cid=1980

If you believe that your computer system has been compromised or attacked in 
any way, we encourage you to let us know by completing the secure National IT 
Incident Reporting Form at:

        http://www.auscert.org.au/render.html?it=3192

===========================================================================
Australian Computer Emergency Response Team
The University of Queensland
Brisbane
Qld 4072

Internet Email: auscert@auscert.org.au
Facsimile:      (07) 3365 7031
Telephone:      (07) 3365 4417 (International: +61 7 3365 4417)
                AusCERT personnel answer during Queensland business hours
                which are GMT+10:00 (AEST).
                On call after hours for member emergencies only.
===========================================================================

-----BEGIN PGP SIGNATURE-----
Comment: http://www.auscert.org.au/render.html?it=1967

iQCVAwUBRRNV3yh9+71yA2DNAQI4nAP+PwDns/Thv+mw+Kyh3Uaqbs6tKaklQwN+
dxoDqMJbYIAZEDWlj9qutvmcRXpMJCmE7rfLs1vaqj4q6gSZktgqM1WLxKaynD/E
/OvLZxhd9Z1KBxkUOO45hhKMNB8ZXHCkw9FwoCj7e7V9BIDvmORWhVsdtYoTFqCN
bf0Twesuuqk=
=IfjS
-----END PGP SIGNATURE-----