Subject: NetBSD Security Advisory 2000-005
To: None <>
From: NetBSD Security Officer <>
List: netbsd-announce
Date: 05/28/2000 23:47:24

                 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


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

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: 

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


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 <> for the report and initial patches.
Jason Thorpe <> for writing the final fix.
Bill Sommerfeld <> 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 $

Version: 2.6.3ia
Charset: noconv