]> git.ipfire.org Git - thirdparty/openvpn.git/commit
Drop packets instead of assert out if packet id rolls over (CVE-2017-7479)
authorSteffan Karger <steffan.karger@fox-it.com>
Tue, 9 May 2017 19:30:09 +0000 (21:30 +0200)
committerDavid Sommerseth <davids@openvpn.net>
Wed, 10 May 2017 23:17:02 +0000 (01:17 +0200)
commite498cb0ea8d3a451b39eaf6f9b6a7488f18250b8
treeb36f9b2e75b101c59b3a11e1d762b7b4feadce58
parent5774cf4c25e1d8bf4e544702db8f157f111c9d93
Drop packets instead of assert out if packet id rolls over (CVE-2017-7479)

Previously, if a mode was selected where packet ids are not allowed to roll
over, but renegotiation does not succeed for some reason (e.g. no password
entered in time, certificate expired or a malicious peer that refuses the
renegotiaion on purpose) we would continue to use the old keys.  Until the
packet ID would roll over and we would ASSERT() out.

Given that this can be triggered on purpose by an authenticated peer, this
is a fix for an authenticated remote DoS vulnerability.  An attack is
rather inefficient though; a peer would need to get us to send 2^32
packets (min-size packet is IP+UDP+OPCODE+PID+TAG (no payload), results in
(20+8+1+4+16)*2^32 bytes, or approx. 196 GB).

This is a fix for finding 5.2 from the OSTIF / Quarkslab audit.

CVE: 2017-7479
Signed-off-by: Steffan Karger <steffan.karger@fox-it.com>
Acked-by: Gert Doering <gert@greenie.muc.de>
Acked-by: David Sommerseth <davids@openvpn.net>
Message-Id: <1494358209-4568-3-git-send-email-steffan.karger@fox-it.com>
URL: http://www.mail-archive.com/search?l=mid&q=1494358209-4568-3-git-send-email-steffan.karger@fox-it.com
Signed-off-by: David Sommerseth <davids@openvpn.net>
Changes.rst
src/openvpn/crypto.c
src/openvpn/packet_id.c
src/openvpn/packet_id.h
src/openvpn/tls_crypt.c
tests/unit_tests/openvpn/test_packet_id.c