BSDSec

deadsimple BSD Security Advisories and Announcements

NetBSD Security Advisory 2018-008: Several vulnerabilities in NPF

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


		NetBSD Security Advisory 2018-008
		=================================

Topic:		Several vulnerabilities in NPF

Version:	NetBSD-current:		source prior to Thu, Mar 22nd 2018
		NetBSD 7.1 - 7.1.2:	affected
		NetBSD 7.0 - 7.0.2:	affected
		NetBSD 6.1 - 6.1.5:	affected
		NetBSD 6.0 - 6.0.6:	affected

Severity:	Remote Rule Bypass, Remote Memory Corruption

Fixed:		NetBSD-current:		Thu, Mar 22nd 2018
		NetBSD-7-1 branch:	Mon, May 14th 2018
		NetBSD-7-0 branch:	Mon, May 14th 2018
		NetBSD-7 branch:	Mon, May 14th 2018
		NetBSD-6-1 branch:	Thu, May 17th 2018
		NetBSD-6-0 branch:	n/a
		NetBSD-6 branch:	Thu, May 17th 2018

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
========

Several vulnerabilities were discovered in NPF:

 1) Integer overflow when parsing IPv6 headers.

 2) Use-after-free when handling ICMP packets.

Issue 2 will not be fixed in the netbsd-6-0 branch.


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

 1) An integer overflow could be triggered when NPF was parsing IPv6
    options of a packet. This overflow could result in a header length
    that was smaller than expected, which could allow an incoming
    packet to bypass L4 rules.

 2) A use-after-free could occur when NPF was parsing an ICMP packet.
    This could result in a rule bypass, a panic, or unexpected
    behavior.


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 summarize 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-7-1
 ----     ----     --------     ----------     ----------
 src/sys/net/npf/npf.h
          1.55     1.47.2.1     1.47.6.1       1.47.12.1
 src/sys/net/npf/npf_inet.c
          1.45     1.32.2.3     1.32.6.1       1.32.10.1
 src/sys/net/npf/npf_alg_icmp.c
          1.29     1.23.2.1     1.23.6.1       1.23.12.1

 FILE              netbsd-6     netbsd-6-0     netbsd-6-1
 ----              --------     ----------     ----------
 src/sys/net/npf/npf.h
                   1.14.2.13    1.14.2.6.4.2   1.14.2.12.2.1
 src/sys/net/npf/npf_inet.c
                   1.10.4.11    n/a            1.10.4.9.2.2
 src/sys/net/npf/npf_alg_icmp.c
                   1.8.4.8      n/a            1.8.4.7.2.1


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

	# cd src
	# cvs update -d -P -r VERSION sys/net/npf/npf.h
	# cvs update -d -P -r VERSION sys/net/npf/npf_inet.c
	# cvs update -d -P -r VERSION sys/net/npf/npf_alg_icmp.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
=========

Maxime Villard for finding and fixing these issues.


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

	2018-05-24	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-SA2018-008.txt.asc

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


Copyright 2018, The NetBSD Foundation, Inc.  All Rights Reserved.
Redistribution permitted only in full, unmodified form.
-----BEGIN PGP SIGNATURE-----

iQIcBAEBAgAGBQJbBxHeAAoJEAZJc6xMSnBuCE4QAITWmvcJpv8dANlmBQWElzs7
XRah2CrpujfXeSVuocay80QpTwQTn6Hm4ZAlkYZBlwBVqepPjpwcdb5LmWHzwFgK
33oN/YO7tu/9HFgR9qHHyAnEPT3v7QHxomHgPGPDkAksMOJEj7Mjs0oZQaSiCeoU
DF2VG+CNesIajJIz5WJDk+EE0G2YFOvkXYKWT26Ei1qUqeEYgfkK5E+ZGxE0rnE6
IVqubBIoNTmKvnsrv8uGKiQaau5iC2cztsZuCYsDwydYSNxXh5f/c9bfjpghaBw6
G8+3I9P2XGiNnP9wiyffpryktV1aUqtXFOeFjXKdPqmPscXnTWVtGYhPzyluG5Cv
4Led6qGvAzeB+TVHgjFc6pQVPkIyHF3lU4fQmfc3HZ1rsK7kEcGKVYwqCCnH7+jR
NABVdzFmEqp4BDm+6JhPQvmi4iB8tTXXjIUWPQSGjkBBo0dQTC+Fom4m8zVF+/fe
OqjslnTCw1fDO7byk19gsFXqR1fVOQ0qiVP55e3HKTyq1Y5gNpANJn8im5GOaBto
AbGbTfwq/w6nb6nVi2c9J14HOf36FC+ynFltF7IH/F5lFowwQORs3RSLmXgSTGjk
cFBpKt4IwfoYdPFBgBxkgoH+WNBmn7FoZWCa8b8mIEONyQNPH7+DiKzkcioj3Ttr
aEG7z/h7Wbhd1/UxDTwm
@SA
-----END PGP SIGNATURE-----