hw/net/net_tx_pkt: fix assertion failure in net_tx_pkt_add_raw_fragment()
authorMauro Matteo Cascella <mcascell@redhat.com>
Sat, 1 Aug 2020 16:42:38 +0000 (18:42 +0200)
committerJason Wang <jasowang@redhat.com>
Tue, 4 Aug 2020 06:14:48 +0000 (14:14 +0800)
commit035e69b063835a5fd23cacabd63690a3d84532a8
tree53675dd7702cd9c4c878d429f3e3c9e6544a7574
parentf81cddfe8abe7d7e2220e611ee69d2cdf34eb789
hw/net/net_tx_pkt: fix assertion failure in net_tx_pkt_add_raw_fragment()

An assertion failure issue was found in the code that processes network packets
while adding data fragments into the packet context. It could be abused by a
malicious guest to abort the QEMU process on the host. This patch replaces the
affected assert() with a conditional statement, returning false if the current
data fragment exceeds max_raw_frags.

Reported-by: Alexander Bulekov <alxndr@bu.edu>
Reported-by: Ziming Zhang <ezrakiez@gmail.com>
Reviewed-by: Dmitry Fleytman <dmitry.fleytman@gmail.com>
Signed-off-by: Mauro Matteo Cascella <mcascell@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
hw/net/net_tx_pkt.c