SecurityTracker.com
    Home    |    View Topics    |    Search    |    Contact Us    |   

SecurityTracker
Archives


 


Category:   OS (UNIX)  >   NetBSD Vendors:   NetBSD
NetBSD Kernel Bugs Let Local Users Consume Sockets or Cause a Kernel Panic
SecurityTracker Alert ID:  1017293
SecurityTracker URL:  http://securitytracker.com/id/1017293
CVE Reference:   CVE-2006-6653, CVE-2006-6654, CVE-2006-6655   (Links to External Site)
Updated:  May 27 2008
Original Entry Date:  Nov 28 2006
Impact:   Denial of service via local system
Fix Available:  Yes  Vendor Confirmed:  Yes  
Version(s): 2.0 - 3.1
Description:   A vulnerability was reported in NetBSD. A local user can cause denial of service conditions.

A local user can cause resource leaks or a kernel panic due to several vulnerabilities in the kernel code.

A local user can supply a specially crafted 'name' or 'namelen' parameter to the accept(2) function to leave a dangling socket. If a copyout(9) call subsequently fails, the socket may remain in the CLOSE_WAIT state.

The sendmsg(2) function does not properly validate the user supply 'msg_controllen' parameter to the sendit() function. A local user can cause a kernel panic. Only 64-bit architectures (e.g., amd64, sparc64, and alpha) are affected.

A local user can attempt to read '/emul/linux/proc/0/stat' on a procfs file system mounted with the 'linux' option to cause a NULL dereference, resulting in a kernel panic.

Sean Boudreau discovered the dangling socket vulnerability. Ryo Shimizu discovered the sendmsg(2) kernel panic vulnerability. Nicolas Joly discovered the mount_procfs kernel panic vulnerability.

Impact:   A local user can cause denial of service conditions on the target system.
Solution:   The vendor has issued a fixed kernel.

The NetBSD advisory is available at:

ftp://ftp.NetBSD.org/pub/NetBSD/security/advisories/NetBSD-SA2006-026.txt.asc

Vendor URL:  www.netbsd.org/ (Links to External Site)
Cause:   Input validation error, State error

Message History:   None.


 Source Message Contents

Subject:  NetBSD Security Advisory 2006-026: Multiple denial of service issues

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


		 NetBSD Security Advisory 2006-026
		 =================================

Topic:		Multiple denial of service issues

Version:	NetBSD-current:	source prior to October 23, 2006
		NetBSD 3.1:		not affected
		NetBSD 3.0.2:		not affected
		NetBSD 3.0.1:		affected
		NetBSD 3.0:		affected
		NetBSD 2.1:		affected
		NetBSD 2.0.*:		affected
		NetBSD 2.0:		affected

Severity:	Denial of service issues ranging from resource leaks to
		kernel panics.

Fixed:		NetBSD-current:		October 23, 2006
		NetBSD-3-0 branch:	October 24, 2006
		NetBSD-3 branch:	October 24, 2006
		NetBSD-2-1 branch:	October 29, 2006
		NetBSD-2-0 branch:	October 29, 2006
		NetBSD-2 branch:	October 29, 2006


Abstract
========

There are multiple denial of service issues that can result in resource
leaks or kernel panics.


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

* Dangling socket could exhaust local system resources
If a user supplies a bad 'name' or 'namelen' parameter to accept(2) this
could leave a dangling socket.  If bad parameters were supplied and a 
copyout(9) failed, the 'file' structure was cleaned up, but not the 
associated socket.  This could leave sockets in the CLOSE_WAIT state that 
could never be closed.

* sendmsg(2) panic
On 64-bit architectures (e.g. amd64, sparc64, and alpha) sendmsg(2) 
can cause a kernel panic, due to insufficient checks of the 'msg_controllen'
parameter in sendit().

* mount_procfs panic (with -o linux)
Trying to read '/emul/linux/proc/0/stat' on a procfs mounted with the 'linux'
option results in a kernel panic.  The process in question has to no parent
process, resulting in a NULL dereference due to insufficient checks.

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

* The sendmsg(2) panic only affects 64-bit systems.

* By default, procfs is not mounted with the 'linux' option, however it is
  often enabled when using Linux emulation.

For all NetBSD versions, you need to obtain fixed kernel sources,
rebuild and install the new kernel, and reboot the system.
                                      
The fixed source may be obtained from the NetBSD CVS repository.

The following instructions briefly summarise how to upgrade your
kernel.  In these instructions, replace:

  ARCH     with your architecture (from uname -m), and
  KERNCONF with the name of your kernel configuration file.

To update from CVS, re-build, and re-install the kernel:

	# cd src
	# cvs update sys/kern/uipc_syscalls.c \
	 	sys/miscfs/procfs/procfs_linux.c
	# ./build.sh kernel=KERNCONF
	# mv /netbsd /netbsd.old
	# cp sys/arch/ARCH/compile/obj/KERNCONF/netbsd /netbsd
	# shutdown -r now

For more information on how to do this, see:

   http://www.NetBSD.org/guide/en/chap-kernel.html


Thanks To
=========

The dangling socket issue was discovered and fixed by Sean Boudreau.
The sendmsg(2) panic was discovered and reported by Ryo Shimizu.
The mount_procfs panic was discovered and reported Nicolas Joly.

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

	2006-11-27	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-026.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-026.txt,v 1.3 2006/11/27 20:14:45 adrianp Exp $

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

iQCVAwUBRWtHcj5Ru2/4N2IFAQI/BgP/QedMEaSiqw9Enjc4IO7fGPH5Y6+VU640
MM3pdUqi7M2wY0lIG2pQgooCwJskt//Ei0mSGNnmUXowLa0aAmbtiyegptmv5bKR
bzPUGAjDhL0/VPKp6SUFeSp+9cdjXytuisqsJJCXdcRZx1vfMnaV6CVbWExAMWwF
YuX+hqClHCY=
=z6tu
-----END PGP SIGNATURE-----

 
 


Go to the Top of This SecurityTracker Archive Page





Home   |    View Topics   |    Search   |    Contact Us

This web site uses cookies for web analytics. Learn More

Copyright 2019, SecurityGlobal.net LLC