-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 NetBSD Security Advisory 2007-002 ================================= Topic: Integer overflows in Render and DBE extensions Version: NetBSD-current: source prior to January 10, 2007 NetBSD 4.0_BETA2: affected NetBSD 3.1: affected NetBSD 3.0.*: affected NetBSD 3.0: affected NetBSD 2.1: affected NetBSD 2.0.*: affected NetBSD 2.0: affected pkgsrc: xorg-server-6.9.0nb13 and earlier Severity: Potential local privilege escalation Fixed: NetBSD-current: January 10, 2007 NetBSD-4 branch: January 11, 2007 NetBSD-3-1 branch: January 11, 2007 NetBSD-3-0 branch: January 11, 2007 NetBSD-3 branch: January 11, 2007 NetBSD-2-1 branch: January 29, 2007 NetBSD-2-0 branch: January 29, 2007 NetBSD-2 branch: January 29, 2007 pkgsrc: xorg-server-6.9.0nb14 corrects the issue Abstract ======== There are integer overflows present in the Render and DBE extensions as supplied with both XFree86 and X11R7.0. This can potentially lead to arbitrary code execution. These vulnerabilities can be triggered by a user sending specifically crafted X protocol requests. These vulnerabilities have been assigned CVE references CVE-2006-6101, CVE-2006-6102 and CVE-2006-6103. Technical Details ================= There are three separate integer overflows that are present: * ProcRenderAddGlyphs() function in the Render extension * ProcDbeGetVisualInfo() function in the DBE extension * ProcDbeSwapBuffers() function in the DBE extension Vulnerabilities present 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 the DBE and render extensions in your X Server configuration. To do this under the Modules section of the X Server configuration file comment out the lines containing: Load "DBE" Load "render" 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 2007-01-10 should be upgraded to NetBSD-current dated 2007-01-11 or later. The following files need to be updated from CVS HEAD: xfree/xc/programs/Xserver/dbe/dbe.c xfree/xc/programs/Xserver/render/render.c xorg/xserver/xorg/dbe/dbe.c xorg/xserver/xorg/render/render.c To update from CVS, re-build, and re-install XFree86: # cd xsrc # cvs update xfree/xc/programs/Xserver/dbe/dbe.c # cvs update xfree/xc/programs/Xserver/render/render.c # cvs update xorg/xserver/xorg/dbe/dbe.c # cvs update xorg/xserver/xorg/render/render.c # make build * NetBSD 3.*: Systems running NetBSD 3.* sources dated from before 2007-01-11 should be upgraded from NetBSD 3.* sources dated 2007-01-12 or later. The following files need to be updated from the netbsd-3, netbsd-3-0 or netbsd-3-1 CVS branch: xfree/xc/programs/Xserver/dbe/dbe.c xfree/xc/programs/Xserver/render/render.c To update from CVS, re-build, and re-install XFree86: # cd xsrc # cvs update -r \ xfree/xc/programs/Xserver/dbe/dbe.c # cvs update -r \ xfree/xc/programs/Xserver/render/render.c # make build * NetBSD 2.*: Systems running NetBSD 2.* sources dated from before 2007-01-29 should be upgraded from NetBSD 2.* sources dated 2007-01-30 or later. The following files need to be updated from the netbsd-2, netbsd-2-0 or netbsd-2-1 CVS branch: xfree/xc/programs/Xserver/dbe/dbe.c xfree/xc/programs/Xserver/render/render.c To update from CVS, re-build, and re-install XFree86: # cd xsrc # cvs update -r \ xfree/xc/programs/Xserver/dbe/dbe.c # cvs update -r \ xfree/xc/programs/Xserver/render/render.c # make build Thanks To ========= Sean Larsson of iDefense Labs is credited with the discovery of these issues. Revision History ================ 2007-03-08 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-SA2007-002.txt.asc Information about NetBSD and NetBSD security can be found at http://www.NetBSD.org/ and http://www.NetBSD.org/Security/. Copyright 2007, The NetBSD Foundation, Inc. All Rights Reserved. Redistribution permitted only in full, unmodified form. $NetBSD: NetBSD-SA2007-002.txt,v 1.1 2007/03/05 23:33:14 adrianp Exp $ -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (NetBSD) iQCVAwUBRe1o4j5Ru2/4N2IFAQIgVgP/fsn9JSi36RNyO7XBQgyHl4BN4cfNK15Q /gr0Lkmp9j/FFj0kxWAZrjxe+eOG9SjMu4K8ifpy+a6PkaOKp7VRPutB6psk5SOa PdmlU7Rotbnc/aTaOLnIstvlKLApat1hrSMRPoFvLq4rk3k6k+c305Pozqq6r6Wd Zn/xuygFeVo= =QkF5 -----END PGP SIGNATURE-----