[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

FreeBSD Security Advisory FreeBSD-SA-16:05.tcp

Hash: SHA512

FreeBSD-SA-16:05.tcp                                        Security Advisory
                                                          The FreeBSD Project

Topic:          TCP MD5 signature denial of service

Category:       core
Module:         kernel
Announced:      2016-01-14
Credits:        Ryan Stone,
		Jonathan T. Looney 
Affects:        All supported versions of FreeBSD.
Corrected:      2016-01-14 09:11:42 UTC (stable/10, 10.2-STABLE)
                2016-01-14 09:10:46 UTC (releng/10.2, 10.2-RELEASE-p9)
                2016-01-14 09:11:16 UTC (releng/10.1, 10.1-RELEASE-p26)
                2016-01-14 09:11:48 UTC (stable/9, 9.3-STABLE)
                2016-01-14 09:11:26 UTC (releng/9.3, 9.3-RELEASE-p33)
CVE Name:       CVE-2016-1882

For general information regarding FreeBSD Security Advisories,
including descriptions of the fields above, security branches, and the
following sections, please visit <URL:https://security.FreeBSD.org/>.

I.   Background

The Transmission Control Protocol (TCP) of the TCP/IP protocol suite
provides a connection-oriented, reliable, sequence-preserving data
stream service.  An optional extension to TCP described in RFC 2385 allows
protecting data streams against spoofed packets with MD5 signature.

Support for TCP MD5 signatures is not enabled in default kernel.

II.  Problem Description

A programming error in processing a TCP connection with both TCP_MD5SIG
and TCP_NOOPT socket options may lead to kernel crash.

III. Impact

A local attacker can crash the kernel, resulting in a denial-of-service.

A remote attack is theoretically possible, if server has a listening
socket with TCP_NOOPT set, and server is either out of SYN cache entries,
or SYN cache is disabled by configuration.

IV.  Workaround

No workaround is available, but installations running a default kernel,
or a custom kernel without TCP_SIGNATURE option are not vulnerable.

V.   Solution

Perform one of the following:

1) Upgrade your vulnerable system to a supported FreeBSD stable or
release / security branch (releng) dated after the correction date.

System reboot is required.

2) To update your vulnerable system via a source code patch:

The following patches have been verified to apply to the applicable
FreeBSD release branches.

a) Download the relevant patch from the location below, and verify the
detached PGP signature using your PGP utility.

# fetch https://security.FreeBSD.org/patches/SA-16:05/tcp.patch
# fetch https://security.FreeBSD.org/patches/SA-16:05/tcp.patch.asc
# gpg --verify tcp.patch.asc

b) Apply the patch.  Execute the following commands as root:

# cd /usr/src
# patch < /path/to/patch

c) Recompile your kernel as described in
<URL:https://www.FreeBSD.org/handbook/kernelconfig.html> and reboot the

VI.  Correction details

The following list contains the correction revision numbers for each
affected branch.

Branch/path                                                      Revision
- -------------------------------------------------------------------------
stable/9/                                                         r293898
releng/9.3/                                                       r293896
stable/10/                                                        r293897
releng/10.1/                                                      r293894
releng/10.2/                                                      r293893
- -------------------------------------------------------------------------

To see which files were modified by a particular revision, run the
following command, replacing NNNNNN with the revision number, on a
machine with Subversion installed:

# svn diff -cNNNNNN --summarize svn://svn.freebsd.org/base

Or visit the following URL, replacing NNNNNN with the revision number:


VII. References


The latest revision of this advisory is available at