-----BEGIN PGP SIGNED MESSAGE-----

===========================================================================
              AUSCERT External Security Bulletin Redistribution
                             
                   ESB-2000.116 -- NetBSD Security Advisory
                      Local "cpu-hog" denial of service
                                01 June 2000

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

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

Product:		NetBSD kernel
Vendor:			NetBSD
Operating System:	NetBSD
Platform:		N/A

Impact:			Denial of Service
Access Required:	Local

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

- -----BEGIN PGP SIGNED MESSAGE-----

                 NetBSD Security Advisory 2000-005
                 =================================

Topic:		Local "cpu-hog" denial of service 
Version:	all versions prior to 2000/04/20
Severity:	low; untrusted local user can hog CPU


Abstract
========

Untrusted local processes can hog cpu and kernel memory by tricking
the kernel into running exclusively on their behalf, denying other
processes the CPU.

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

4.xBSD kernels are non-preemptive; processes running in user space can
be preempted, but processes runnning in the kernel must yield the CPU
voluntarily.  Certain system calls could be convinced to run for an
extended time in the kernel without yielding (e.g., reads from
/dev/zero).

In addition, the ktrace system-call tracing facility could use large
amounts of kernel memory when tracing large I/O's


The patches referenced by this advisory: 
	- add a facility to allow a process to yield the cpu but
	remain runnable.
	- notice when a process has executed for an entire timeslice
	without yielding.
	- add several preemption points in common system routines.
	- reduce the total memory required by ktrace while tracing I/O
	(by breaking the data read into multiple chunks).

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

For formal NetBSD releases, you should to download the appropriate
source patch listed below, apply it to your kernel source tree using
the patch(1) command.  For NetBSD-current, you should update your
source tree (with either sup or anonymous CVS).  In both cases, you
then need to rebuild, install the newly built kernel, and reboot. For
more information on how to do this, see:

    http://www.netbsd.org/Documentation/kernel/#building_a_kernel 

For NetBSD 1.4, 1.4.1, and 1.4.2:
 A patch is available in

    ftp://ftp.NetBSD.ORG/pub/NetBSD/misc/security/patches/20000527-yield

For NetBSD-current:

 NetBSD-current since 20000420 contains all the fixes, and is not
 vulnerable.  Users of NetBSD-current should upgrade to a source tree
 dated 20000420 or later.

Thanks To
=========

Artur Grabowski <art@stacken.kth.se> for the report and initial patches.
Jason Thorpe <thorpej@netbsd.org> for writing the final fix.
Bill Sommerfeld <sommerfeld@netbsd.org> for backporting to 1.4.x


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

	20000527 initial draft of advisory.


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

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


Copyright 2000, The NetBSD Foundation, Inc.  All Rights Reserved.

$NetBSD: NetBSD-SA2000-005.txt,v 1.2 2000/05/28 03:25:08 sommerfeld Exp $

- -----BEGIN PGP SIGNATURE-----
Version: 2.6.3ia
Charset: noconv

iQCVAwUBOTG4LD5Ru2/4N2IFAQEeKAP8C+m/FuTQMJJWw+ipb4rF3Dh+ZJfIX7Sk
2RKtN3Dzmep6taw1q9rvrHjIgq1pv0W2559SHezKwPrvEmEZ0kZVD3ZCQzJbIKsn
+WSvXYgongEJZBEaoZoqzk9+8WHYEluj2gMgPYBCViEURYVoAH4NYMkw9ytaRSoD
90/UJxIMBuw=
=uq7X
- -----END PGP SIGNATURE-----

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

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 use any or all of this information is
the responsibility of each user or organisation, and should be done so in
accordance with site policies and procedures.

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 original authors 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/Information/advisories.html

If you believe that your system has been compromised, contact AusCERT or
your representative in FIRST (Forum of Incident Response and Security
Teams).

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


-----BEGIN PGP SIGNATURE-----
Version: 2.6.3i
Charset: noconv
Comment: ftp://ftp.auscert.org.au/pub/auscert/AUSCERT_PGP.key

iQCVAwUBOXXS/ih9+71yA2DNAQFsYQP9EEzGi2oUUKp8G3zrRQD0FJi8yJCEwKFg
lwkM9E2O1RyK/eC6i6KtyCWeumwi7NhX5gMczbT2mSkeF2Z3oXdcdvVBMDndA0lh
bEK+xaVKoHPul5E5ukp/WydiXle2wwLlePpnCrLEof/iOdfb/M8jP2vTDGbcu2My
cHMlLUxX8VU=
=R2JG
-----END PGP SIGNATURE-----