]> git.ipfire.org Git - thirdparty/openvpn.git/commit
Fix potential 1-byte overread in TCP option parsing.
authorGert Doering <gert@greenie.muc.de>
Sun, 18 Jun 2017 19:41:04 +0000 (21:41 +0200)
committerGert Doering <gert@greenie.muc.de>
Sun, 18 Jun 2017 19:59:51 +0000 (21:59 +0200)
commit22046a88342878cf43a9a553c83470eeaf97f000
tree32562f492dbce6b80c03f6cb9005f9451d831355
parentaba98e9050eb54d72d921e70bcd422cb892b9c6c
Fix potential 1-byte overread in TCP option parsing.

A malformed TCP header could lead to a one-byte overread when
searching for the MSS option (but as far as we know, with no
adverse consequences).

Change outer loop to always ensure there's one extra byte available
in the buffer examined.

Technically, this would cause OpenVPN to ignore the only single-byte
TCP option available, 'NOP', if it ends up being the very last
option in the buffer - so what, it's a NOP anyway, and all we
are interested is MSS, which needs 4 bytes.
(https://www.iana.org/assignments/tcp-parameters/tcp-parameters.xhtml)

Found and reported by Guido Vranken <guidovranken@gmail.com>.

Trac: #745

Signed-off-by: Gert Doering <gert@greenie.muc.de>
Acked-by: Arne Schwabe <arne@rfc2549.org>
Message-Id: <20170618194104.25179-1-gert@greenie.muc.de>
URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg14874.html
Signed-off-by: Gert Doering <gert@greenie.muc.de>
src/openvpn/mss.c