Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ba78e2dd authored by Dmitry Popov's avatar Dmitry Popov Committed by David S. Miller
Browse files

tcp: no md5sig option size check bug



tcp_parse_md5sig_option doesn't check md5sig option (TCPOPT_MD5SIG)
length, but tcp_v[46]_inbound_md5_hash assume that it's at least 16
bytes long.

Signed-off-by: default avatarDmitry Popov <dp@highloadlab.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent e2255679
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -3930,7 +3930,7 @@ u8 *tcp_parse_md5sig_option(struct tcphdr *th)
			if (opsize < 2 || opsize > length)
			if (opsize < 2 || opsize > length)
				return NULL;
				return NULL;
			if (opcode == TCPOPT_MD5SIG)
			if (opcode == TCPOPT_MD5SIG)
				return ptr;
				return opsize == TCPOLEN_MD5SIG ? ptr : NULL;
		}
		}
		ptr += opsize - 2;
		ptr += opsize - 2;
		length -= opsize;
		length -= opsize;