FreeBSD Security Advisories
2014-Sep-16 10:14 UTC
FreeBSD Security Advisory FreeBSD-SA-14:19.tcp
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 ============================================================================FreeBSD-SA-14:19.tcp Security Advisory The FreeBSD Project Topic: Denial of Service in TCP packet processing Category: core Module: inet Announced: 2014-09-16 Credits: Jonathan Looney (Juniper SIRT) Affects: All supported versions of FreeBSD. Corrected: 2014-09-16 09:48:35UTC (stable/10, 10.1-PRERELEASE) 2014-09-16 09:48:35 UTC (stable/10, 10.1-BETA1-p1) 2014-09-16 09:50:19 UTC (releng/10.0, 10.0-RELEASE-p9) 2014-09-16 09:49:11 UTC (stable/9, 9.3-STABLE) 2014-09-16 09:50:19 UTC (releng/9.3, 9.3-RELEASE-p2) 2014-09-16 09:50:19 UTC (releng/9.2, 9.2-RELEASE-p12) 2014-09-16 09:50:19 UTC (releng/9.1, 9.1-RELEASE-p19) 2014-09-16 09:49:11 UTC (stable/8, 8.4-STABLE) 2014-09-16 09:50:19 UTC (releng/8.4, 8.4-RELEASE-p16) CVE Name: CVE-2004-0230 For general information regarding FreeBSD Security Advisories, including descriptions of the fields above, security branches, and the following sections, please visit <URL:http://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. New TCP connections are initiated using special SYN flag in a datagram. Sequencing of data is controlled by 32-bit sequence numbers, that start with a random value and are increased using modulo 2**32 arithmetic. TCP endpoints maintain a window of expected, and thus allowed, sequence numbers for a connection. II. Problem Description When a segment with the SYN flag for an already existing connection arrives, the TCP stack tears down the connection, bypassing a check that the sequence number in the segment is in the expected window. III. Impact An attacker who has the ability to spoof IP traffic can tear down a TCP connection by sending only 2 packets, if they know both TCP port numbers. In case one of the two port numbers is unknown, a successful attack requires less than 2**17 packets spoofed, which can be generated within less than a second on a decent connection to the Internet. IV. Workaround It is possible to defend against these attacks with stateful traffic inspection using a firewall. This can be done by enabling pf(4) on the system and creating states for every connection. Even a default ruleset to allow all traffic would be sufficient to mitigate this issue. 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. 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 http://security.FreeBSD.org/patches/SA-14:19/tcp.patch # fetch http://security.FreeBSD.org/patches/SA-14:19/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:http://www.FreeBSD.org/handbook/kernelconfig.html> and reboot the system. 3) To update your vulnerable system via a binary patch: Systems running a RELEASE version of FreeBSD on the i386 or amd64 platforms can be updated via the freebsd-update(8) utility: # freebsd-update fetch # freebsd-update install VI. Correction details The following list contains the correction revision numbers for each affected branch. Branch/path Revision - ------------------------------------------------------------------------- stable/8/ r271668 releng/8.4/ r271669 stable/9/ r271668 releng/9.1/ r271669 releng/9.2/ r271669 releng/9.3/ r271669 stable/10/ r271667 releng/10.0/ r271669 - ------------------------------------------------------------------------- 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: <URL:http://svnweb.freebsd.org/base?view=revision&revision=NNNNNN> VII. References <URL:http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2004-0230> The latest revision of this advisory is available at <URL:http://security.FreeBSD.org/advisories/FreeBSD-SA-14:19.tcp.asc> -----BEGIN PGP SIGNATURE----- iQIcBAEBCgAGBQJUGAnEAAoJEO1n7NZdz2rnHEkP/0fVx7U6l/YKVWToejpCxMLa TS9ng0kN5GEkyYPTHbK3Pb5T2b4zhpDlhRVTDtwkP+00VXAGIAC6GiQl2QBAApgv 68cla+TU+gh2I03XxIl+eWHu4EWaYa0v2vDqL0n/XNLvcZVD3R0CC+6HHUbKm46t dQg4olCdXdHkZleclvuYGjd+W8JfC17Xe3xshNKq7BV05XWqXrKoqxfxot8Cnxyx n4MePoiNYn13iO5OpEWf2J6BS1JJ1M/L0CAAKGcNitD8dYMdKNEfn6tpPXHNIWGH vUI0sD2rPRs3OWbK6Y3xmakCPK8MXjSyFNvJ2NkuU6dYdKBNHYswh46F9XP0cSDc K5wB36R/mx5ky05HBCpAjiGh2X67Y6QtQiBq5ESltodAp1Sl966fgLnNKyIgeHr5 51QNCXDdc7S7pE9daA/uiIEZVKH8eKYGHP53zN/tiTDVWy7yTEBIW4lhJVkHIAAt VBvLB0efr47z6IZ92GshGKZawaPAOeuBrEtYDOdNNJeh+WhSPoE5MKfS6NiH/lRg DorewB9KbChCUhxMCH2Pj7AxTVoe3fjWtZYRo02OHMitTTJbExsyT33vTH1Sb2LT 6lXBFFOvo5Uw8JJyykd+GXUcwe13hcroS+eqz/GE+9yReMrwd82qbiDM4VlTdVMq trAqOw2zRyBa7R6D2+4T =qjIZ -----END PGP SIGNATURE-----
Hi, On 16/09/14 11:14, FreeBSD Security Advisories wrote:> An attacker who has the ability to spoof IP traffic can tear down a > TCP connection by sending only 2 packets, if they know both TCP port > numbers.This may be a silly question but, if the attacker can spoof IP traffic, can't the same be done with a single RST packet? Thanks Regards, -- Steven Chamberlain steven at pyro.eu.org
Hi, On Tue, Sep 16, 2014 at 12:14 PM, FreeBSD Security Advisories < security-advisories at freebsd.org> wrote:> IV. Workaround > > It is possible to defend against these attacks with stateful traffic > inspection using a firewall. This can be done by enabling pf(4) on > the system and creating states for every connection. Even a default > ruleset to allow all traffic would be sufficient to mitigate this > issue. >Any chance of getting more information in Workaround section? Is the workaround applicable only to pf or IPFW also helps? Perhaps an example rule?> VII. References > > <URL:http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2004-0230> >2004? Wow, that's an old one. Thanks, -- Nino
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 On 9/16/14 6:19 PM, Steven Chamberlain wrote:> Hi, > > On 16/09/14 11:14, FreeBSD Security Advisories wrote: >> An attacker who has the ability to spoof IP traffic can tear down >> a TCP connection by sending only 2 packets, if they know both TCP >> port numbers. > > This may be a silly question but, if the attacker can spoof IP > traffic, can't the same be done with a single RST packet?By default RST has to be within the window if the connection is in ESTABLISHED state. So in order to do that the attacker still need to guess or know the sequence number. Hope this helps. Cheers, -----BEGIN PGP SIGNATURE----- iQIcBAEBCgAGBQJUGEJ7AAoJEJW2GBstM+ns4MgP/jhjYEZnzZimP9COnxiIpQTV E21qVdMQPfglicoPKKvzNfyNL1ZRUHYCXa3tGmKE0zO/6b03c8xmvqARCtZVDF+K xLD1ZfaCjo4mrIKG7LDNAN6WYHYKnF1WNsABcy/7PwnY7Bw3CoVZg3DXKj1s72m4 0XnZwVBfY0e3sy2wzcbirfW9bYk4JK5900wUkXaxtEBkLcdJWirsxx6teC9hvvUS 3K/7NpL0/Hv3nAhEJQwA8kTwD5qNg0uwj1WDY8GzHOSzATIo8B/Dy2ubsN8EBChn OWR/xOBwXTU79RH+f4qwWYV887xsniKTS7uUZIEjgAdS1xz5rjmGIDAm1ATHfrK5 tJm2pZdnxrpJqzBY7zxyQwDAPS1w8bNHzmcXBrZd+m3DvrGRpJO2qqCYZakUI9gR 00ArI4jrD8HFyboQdXy3uW3xIddD07u2xQQ3wwbgigF7tKgZG9m6Iq+Q10YoLo6x Ck/Hpf5yDo/COE/RD8UbyEw3nSsl4s9T6oqPXCLBlnNjuCrh0AqEDwCQ476X7pPb B0BxTZ46KY//h0vzMpTFQO3EShQfIYRKsme3bRfuiApXb+xgFpz1KEzqDkeiz3/3 681k8COJYjLKoe6Xq7p1C8sL5pmg9G/pTjyN38vOZF10096+RGP1kLZO2zT88BEi pIIwvv0RmHBgAf+PL0mH =sAgZ -----END PGP SIGNATURE----- _______________________________________________ freebsd-security@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-security To unsubscribe, send any mail to "freebsd-security-unsubscribe@freebsd.org"
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 On 9/16/14 9:34 PM, n j wrote:>> VII. References >> >> <URL:http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2004-0230> >> > >> > 2004? Wow, that's an old one.This is an old, generic issue that didn't affect FreeBSD at the time in 2004, and the issue was introduced in 2009 by r192912. Cheers, -----BEGIN PGP SIGNATURE----- iQIcBAEBCgAGBQJUGEPFAAoJEJW2GBstM+ns54IP+gLeJxSf744SJ2Vp/M0xdJDH Hg+7ArP1oco4cchY9kZppLHJ3s+rGxNd9R/wM5Tw9fZfT9eB+LfzU5cM6w7rIB9f nH1Go7ZdCfU0DeMaK+WMrbwIgeqZJTtSBaIiryvaSDa053BZIPXPdeRrB30S1Otq z+ohwkqh2mdInQqqpH1ClBnn0kxQmBs8iPJiTuXapsuIN/SBFmVJBRJ4BPySwBM9 3EQjqYfO7psfijoaHKOv42YDwVKP66uKK7sk/AlBTCCiE8kD32Ix+Cm9zWqyiYwo 06qfaIL7A/2i0QftVidkI1Q5MI5a1l0lheSR/KeGMn6uNcZWVsHJjsgGDPwa7qSY vH8mt7vdoOdiO4lf7qqT2hODlpdJtzgu2L6m0tYwg+1G6tf9UK1Ha5wo36PCREGv w3M9s1SJZAIXyzh1rw99kzWu9fkzzQyDe0WtQB2iWBmBvUVgwTNgJdEOHULkMi3z ljwadwVaSEOVhdXQ7pSJmJ9S2BXFH8MwbAB4raj1QFQs+/GW1kLGuCDZ3eDdqlvH zmnjEDa47E3zCDu5Oy2xoo4mvTHVl1RH0JTz0d0V4dXzA0GunRel4AbA7hrZ2n8o NcIqknr+k75evg4aPf6L7MbFBKUL56vAuGS0xGhj/eAIyf3uCNluXFZuUDiq6Lwz ieKAP60MVg7HqGrLaLxe =C2J/ -----END PGP SIGNATURE----- _______________________________________________ freebsd-security@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-security To unsubscribe, send any mail to "freebsd-security-unsubscribe@freebsd.org"