Subject: NetBSD Security Advisory 2003-013: Kernel memory disclosure via ibcs2
To: None <netbsd-announce@NetBSD.org>
From: NetBSD Security Officer <security-officer@NetBSD.org>
List: netbsd-announce
Date: 09/18/2003 01:40:52
-----BEGIN PGP SIGNED MESSAGE-----


		 NetBSD Security Advisory 2003-013
		 =================================

Topic:		Kernel memory disclosure via ibcs2

Version:	NetBSD-current:	source prior to August 7, 2002
		NetBSD 1.6.1:	not affected
		NetBSD 1.6:	not affected
		NetBSD-1.5.3:	affected
		NetBSD-1.5.2:	affected
		NetBSD-1.5.1:	affected
		NetBSD-1.5:	affected

Severity:	

Fixed:		NetBSD-current:		August 7, 2002
		NetBSD-1.6 branch:	not affected
		NetBSD-1.5 branch:	August 28, 2002


Abstract
========

The iBCS2 system call translator for statfs(2) erroneously used the
user-supplied length parameter when copying a kernel data structure
into userland.  If the length parameter were larger than required,
then instead of copying only the statfs-related data structure,
additional kernel memory would also be made available to the user.


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

If iBCS2 support were enabled, a malicious user could call the iBCS2
version of statfs(2) with an arbitrarily large length parameter,
causing the kernel to return a large portion of kernel memory.  Such
memory might contain sensitive information, such as portions of the
file cache or terminal buffers.  This information might be directly
useful, or it might be leveraged to obtain elevated privileges in some
way.  For example, a terminal buffer might include a user-entered
password.

iBCS2 support is only present on i386/vax GENERIC kernel.


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

If your kernel configuration file does not contain COMPAT_IBCS2, 
your system is not affected.

The following instructions describe how to upgrade your kernel
binaries by updating your source tree and rebuilding and
installing a new version of kernel.

* NetBSD-current:

	Systems running NetBSD-current dated from before 2002-08-06
	should be upgraded to NetBSD-current dated 2002-08-07 or later.

	The following directories need to be updated from the
	netbsd-current CVS branch (aka HEAD):
		src/sys/compat/ibcs2/ibcs2_stat.c
	However, because the date of the point fix is way too old, we'd suggest
	you to update the whole kernel.  The following instruction is for
	updating the whole kernel.

	To update from CVS, re-build, and re-install the kernel and reboot:
		# cd src
		# cvs update -d -P sys

		# cd sys/ARCH/conf