https://github.com/torvalds/linux
Revision 405c005949e47b6e91359159c24753519ded0c67 authored by Neal Cardwell on 08 December 2012, 19:43:22 UTC, committed by David S. Miller on 09 December 2012, 23:59:37 UTC
Add logic to validate INET_DIAG_BC_S_COND and INET_DIAG_BC_D_COND
operations.

Previously we did not validate the inet_diag_hostcond, address family,
address length, and prefix length. So a malicious user could make the
kernel read beyond the end of the bytecode array by claiming to have a
whole inet_diag_hostcond when the bytecode was not long enough to
contain a whole inet_diag_hostcond of the given address family. Or
they could make the kernel read up to about 27 bytes beyond the end of
a connection address by passing a prefix length that exceeded the
length of addresses of the given family.

Signed-off-by: Neal Cardwell <ncardwell@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent 1c95df8
History
Tip revision: 405c005949e47b6e91359159c24753519ded0c67 authored by Neal Cardwell on 08 December 2012, 19:43:22 UTC
inet_diag: validate byte code to prevent oops in inet_diag_bc_run()
Tip revision: 405c005
File Mode Size
kvm

back to top