BSDSec

deadsimple BSD Security Advisories and Announcements

NetBSD Security Advisory 2017-001: Memory leak in the connect system call

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

		NetBSD Security Advisory 2017-001
		=================================

Topic:		Memory leak in the connect system call


Version:	NetBSD-current:		source prior to Sun, Oct 31st 2016
		NetBSD 7.0 - 7.0.2:	affected
		NetBSD 6.1 - 6.1.4:	affected
		NetBSD 6.0 - 6.0.5:	affected

Severity:	Local DoS

Fixed:		NetBSD-current:		Sun, Oct 31st 2016
		NetBSD-7-0 branch:	Tue, Nov 1st 2016
		NetBSD-7 branch:	Tue, Nov 1st 2016
		NetBSD-6-0 branch:	Fri, Nov 11th 2016
		NetBSD-6-1 branch:	Fri, Nov 11th 2016
		NetBSD-6 branch:	Fri, Nov 11th 2016

Teeny versions released later than the fix date will contain the fix.

Please note that NetBSD releases prior to 6.0 are no longer supported.
It is recommended that all users upgrade to a supported release.


Abstract
========

A memory leak in the kernel could allow a local user to use up kernel
memory via repeated calls to the connect system call, and thus to
freeze - or eventually panic - the system.


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

When calling the connect system call on a particular file descriptor with
specific arguments, a kernel buffer allocated to temporarily hold a path
buffer was not freed. Performing such a call in a loop would cause the
kernel to run out of memory and eventually panic.


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

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),
  KERNCONF with the name of your kernel configuration file and
  VERSION  with the file version below

File versions containing the fixes:

 FILE  HEAD   netbsd-7   netbsd-7-0    netbsd-6   netbsd-6-1    netbsd-6-0
 ----  ----   --------   ----------    --------   ----------    ----------
 sys/kern/uipc_usrreq.c
       1.181  1.169.2.4  1.169.2.3.2.1 1.136.8.4  1.136.8.3.2.1 1.136.8.2.2.1

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

	# cd src
	# cvs update -d -P -r VERSION sys/kern/uipc_usrreq.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 Mootja Analysis Engine for detecting the issue, Maxime Villard for
developing it and writing a fix.


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

	2017-01-21	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 
  http://ftp.NetBSD.org/pub/NetBSD/security/advisories/NetBSD-SA2017-001.txt.asc

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


Copyright 2017, The NetBSD Foundation, Inc.  All Rights Reserved.
Redistribution permitted only in full, unmodified form.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQIcBAEBAgAGBQJYg41BAAoJEAZJc6xMSnBuFzYQALY+MeClp85wpGhLmxBOoVzQ
drDRSoosEZJG1n5yqUuyvAka2KYYCIfMIw2JH7chvf0bDRZnwl32IJJYLzLvFPwf
CVZibK990zSBxdiVQ9eOEr5K3RM/V4abxpa+3AYxPOyTwLpR0OMHhfI0pJ5eTo7X
hBWrY9pjSU/To5EjMEBMc6SnuGs+LnW1o2TUyT/UbrvBO6Zs8gBuk7mIhxy0xK5f
39eZAwPvS1BF28NnFgesrw4gd5RwzKUYXcTVcHuGGCszcyejjmepumbV8aLL+/zw
CetkXw8WMjM6YuPM9DEOCBDkYMElSAakkPATagK+25Agi81/HI2VNMwvER9Qinqk
VKy9+rlXNlxa3D9qCSYfRrn40xdQ6PSZfRCvG2KEGfF40wplH5dHZsRkmvMzt8kY
D+03F0eiifWnUVgdLhEYJQeGFoBkElIA20bH/NGhm0W/Rm3etxe0MQiW7lqzrOny
G3YW0hxrp/YOnxDJmn35VKshq7iUY5clko3rfy7XF1VEsz5dTGrJsGwPKe7B5ZIj
+Y4+p38KbfEACS0PLZVfEkSSd9eONwf31jp8e8rJAn9dGKLy/r8eQoFOIm61iPXJ
g00YtgfE/CI2Z9PLF00V+vV4hlr4v4PJvMshF3SY9CSpuqTC/A9a01nDEIZs9Y5d
nyZv4WFb3sTpLx5JzUEP
=uCbX
-----END PGP SIGNATURE-----