diff options
| author | Stefan Richter <stefanr@s5r6.in-berlin.de> | 2016-10-29 21:28:18 +0200 |
|---|---|---|
| committer | Ben Hutchings <ben@decadent.org.uk> | 2016-11-20 01:17:37 +0000 |
| commit | 88eadd913f235ffd29767b504fd68caaa1394f76 (patch) | |
| tree | 92570cbde788aa435f2195fe92a0f824f9c6982b /include/linux/msg.h | |
| parent | 400ce4d1a8ea346d95b36f6c72b993de69f8a0b0 (diff) | |
firewire: net: guard against rx buffer overflows
commit 667121ace9dbafb368618dbabcf07901c962ddac upstream.
The IP-over-1394 driver firewire-net lacked input validation when
handling incoming fragmented datagrams. A maliciously formed fragment
with a respectively large datagram_offset would cause a memcpy past the
datagram buffer.
So, drop any packets carrying a fragment with offset + length larger
than datagram_size.
In addition, ensure that
- GASP header, unfragmented encapsulation header, or fragment
encapsulation header actually exists before we access it,
- the encapsulated datagram or fragment is of nonzero size.
Reported-by: Eyal Itkin <eyal.itkin@gmail.com>
Reviewed-by: Eyal Itkin <eyal.itkin@gmail.com>
Fixes: CVE 2016-8633
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Diffstat (limited to 'include/linux/msg.h')
0 files changed, 0 insertions, 0 deletions
