SecurityTracker.com
Keep Track of the Latest Vulnerabilities
with SecurityTracker!
    Home    |    View Topics    |    Search    |    Contact Us    |    Help    |   

SecurityTracker
Archives


Welcome to SecurityTracker!
 
Click to Sign Up
Sign Up
Sign Up for Your FREE Weekly SecurityTracker E-mail Alert Summary
Instant Alerts
Buy our Premium Vulnerability Notification Service to receive customized, instant alerts
Affiliates
Put SecurityTracker Vulnerability Alerts on Your Web Site -- It's Free!
Partners
Become a Partner and License Our Database or Notification Service
Report a Bug
Report a vulnerability that you have found to SecurityTracker
bugs
@
securitytracker.com

Sign Up!





Category:  OS (UNIX)  >  NetBSD Vendors:  NetBSD
NetBSD Audio Subsystem Lets Local Users Deny Service
SecurityTracker Alert ID:  1014348
SecurityTracker URL:  http://securitytracker.com/id?1014348
CVE Reference:  CAN-2005-2134   (Links to External Site)
Updated:  Jul 7 2005
Original Entry Date:  Jul 1 2005
Impact:  Denial of service via local system
Fix Available:  Yes   Vendor Confirmed:  Yes  
Advisory:  NetBSD Security Advisory
Version(s): 1.6, 1.6.1, 1.6.2, 2.0, 2.0.1
Description:  A vulnerability was reported in NetBSD in the audio subsystem. A local user can crash the kernel.

A local user can invoke an ioctl() system call to set the audio stream pause state to 'unpaused' while at the same time modifying the block size information to trigger a divide by zero error and cause the kernel to crash.

The clcs and emuxki drivers are affected. Systems wtih CS4280/4281, SB Live, or SB PC 512 audio hardware may be affected.

The flaw resides in 'sys/dev/audio.c'.

The vendor credits Ignatios Souvatzis with discovering this vulnerability.

Impact:  A local user can cause the kernel to crash.
Solution:  The vendor has issued a fix.

The following fixed versions are available:

NetBSD-current: June 12, 2005
NetBSD-3.0 branch: June 12, 2005
NetBSD-2.0 branch: June 13, 2005
NetBSD-1.6 branch: June 17, 2005

Vendor URL:  www.NetBSD.org/Security/ (Links to External Site)
Cause:  State error
Underlying OS:  UNIX (NetBSD)
Reported By:  NetBSD Security-Officer <security-officer@NetBSD.org>
Message History:   None.


 Source Message Contents

Date:  Thu, 30 Jun 2005 18:12:44 -0400
From:  NetBSD Security-Officer <security-officer@NetBSD.org>
Subject:  NetBSD Security Advisory 2005-002: Local DoS via audio device with

 


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


		 NetBSD Security Advisory 2005-002
		 =================================

Topic:		Local DoS via audio device with specific drivers

Version:	NetBSD-current:	source prior to June 13, 2005
		NetBSD 2.0.2:	affected
		NetBSD 2.0.1:	affected
		NetBSD 2.0:	affected
		NetBSD 1.6.2:	affected
		NetBSD 1.6.1:	affected
		NetBSD 1.6:	affected

Severity:	local user with access to audio device can cause kernel trap

Fixed:		NetBSD-current:		June 12, 2005
		NetBSD-3.0 branch:	June 12, 2005 (3.0 will include the fix)
		NetBSD-2.0 branch:	June 13, 2005 (2.0.3 and 2.1 will
						       include the fix)
		NetBSD-1.6 branch:	June 17, 2005 (1.6.3 will include the
						       fix


Abstract
========

With CS4280/4281, or SB Live, or SB PC 512 audio hardware, a local user
of the audio device can crash the machine through the ioctl system call.


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

The set-parameters ioctl() call of the audio subsystem allows programs
to set audio stream parameters as well as the pause state, the internal
ring buffer, and audio DMA block size used.

When pause state was set to "unpaused" in the same ioctl() call as
changing the block size information, playing/recording used to be
started without recomputing the buffering parameters. Some drivers would
use this information in a division by zero, thus crashing the kernel.

The clcs and emuxki drivers are affected. If you do not have Cirrus
Logic CS4280/CS4281, SB Live!, or SB PC 512 hardware installed in a
system, then this vulnerability does not affect that system.


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

The common part of the audio subsystem has been changed to ensure that
the device parameters are not left in an uninitialized state. So, while
the vulnerability was exposed by certain drivers, the fix is in the
device-independent audio code.

As a temporary measure, system administrators of multi-user machines may
want to disable access to the audio device for all users until an
upgraded kernel can be booted. To do this, as the root user, execute:

chown root /dev/audio* /dev/audioctl* /dev/sound*
chmod 000  /dev/audio* /dev/audioctl* /dev/sound*

Single-user machines can be left as-is if the user can be trusted to
not crash the machine willingly or to not complain afterwards.


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

*** Updating with a GENERIC or other kernel from the base distribution:

The NetBSD-daily source builds provide a set of kernels that can be used
on systems that run GENERIC, or one of the other distribution kernels.

Below, BRANCH, DATE, and ARCH are:

  BRANCH   with the appropriate CVS branch 
  ARCH     with your architecture (from uname -m), and
  DATE     Any date after the fixed dates, shown here:

		NetBSD-current:		June 12, 2005
		NetBSD-3.0 branch:	June 12, 2005 
		NetBSD-2.0 branch:	June 13, 2005 
		NetBSD-1.6 branch:	June 17, 2005
			 * Note, the latest 1-6 build at the
			   time of issuing this advisory does not
			   yet include the fix. (June 16)


	ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-daily/{BRANCH}/{DATE}/i386/binary/kernel/{ARCH}/binary/kernel
/netbsd-GENERIC.gz Retrieve the kernel from the appropriate location, then: cd / && cp /path/to/netbsd-GENERIC.gz / gzip -d netbsd-GENERIC.gz The tar file will extract a new copy of: netbsd-GENERIC Back up your old kernel: mv netbsd netbsd.old Then either rename: mv netbsd-GENERIC netbsd or link, as per local site policy: ln netbsd-GENERIC netbsd Then, reboot. *** Patching from sources: The following instructions describe how to upgrade your kernel by updating your source tree and rebuilding and installing a new version of the kernel. For all NetBSD versions, you need to download the source patch, apply it to your kernel source tree using the patch(1) command, and rebuild, install the kernel, and reboot. For more information on how to do this, see: http://www.netbsd.org/Documentation/kernel/#building_a_kernel The fix for this issue is contained in one file, sys/dev/audio.c The following table lists the fixed revisions and dates of this file for each branch: CVS branch revision date ------------- ----------- ---------------- HEAD 1.196 2005/06/11 netbsd-3 1.192.4.2 2005/06/11 netbsd-2-0 1.182.2.2 2005/06/12 netbsd-2 1.182.2.1.2.2 2005/06/12 netbsd-1-6 1.155.4.7 2005/06/17 The following instructions describe how to upgrade your kernel binaries by updating your source tree and rebuilding and installing a new version of the kernel. In these instructions, replace: BRANCH with the appropriate CVS branch (from the above table) 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 -d -P -r BRANCH sys/dev/audio.c # cd sys/arch/ARCH/conf # config KERNCONF # cd ../compile/KERNCONF # make depend;make; make install # reboot Thanks To ========= Ignatios Souvatzis discovery, initial analysis, implementation of fix YAMAMOTO Takashi analysis, suggestion for fix Revision History ================ 2005-06-30 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-SA2005-002.txt.asc Information about NetBSD and NetBSD security can be found at http://www.NetBSD.org/ and http://www.NetBSD.org/Security/. Copyright 2005, The NetBSD Foundation, Inc. All Rights Reserved. Redistribution permitted only in full, unmodified form. $NetBSD: NetBSD-SA2005-002.txt,v 1.5 2005/06/30 09:22:48 wiz Exp $ -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.1 (NetBSD) iQCVAwUBQsQFPT5Ru2/4N2IFAQJDfgQAnhPQpnUwxAqg4Xci5bAafb1T5WlDf+lB o+aYn08gy9AUHwaw+T7rO1p6H+KSxB+4cCJ/rytRJefFgD60wbo8CuVHi/uT57Cy lGO9GpVuRz2HAInVg0f3TT0z2Kz6X0cn+Z+vrLf1buzR8wsQxyNhZwYzZQ8s27mk BBbuA26OoCI= =KIPN -----END PGP SIGNATURE-----


Go to the Top of This SecurityTracker Archive Page





Home   |    View Topics   |    Search   |    Contact Us   |    Help

Copyright 2005, SecurityGlobal.net LLC