In QEMU through 5.0.0, an assertion failure can occur in the network packet processing. This issue affects the e1000e and vmxnet3 network devices. A malicious guest user/process could use this flaw to abort the QEMU process on the host, resulting in a denial of service condition in net_tx_pkt_add_raw_fragment in hw/net/net_tx_pkt.c.
The product contains an assert() or similar statement that can be triggered by an attacker, which leads to an application exit or other behavior that is more severe than necessary.
|Name||Vendor||Start Version||End Version|
|Advanced Virtualization for RHEL 8.2.1||RedHat||virt:8.2-8020120201106174547.863bb0db||*|
|Advanced Virtualization for RHEL 8.2.1||RedHat||virt-devel:8.2-8020120201106174547.863bb0db||*|
|Red Hat Enterprise Linux 7||RedHat||qemu-kvm-ma-10:2.12.0-48.el7_9.2||*|
|Red Hat Enterprise Linux 7||RedHat||qemu-kvm-10:1.5.3-175.el7_9.3||*|
|Red Hat Enterprise Linux 8||RedHat||virt-devel:rhel-8040020210317013608.9f9e2e7e||*|
|Red Hat Enterprise Linux 8||RedHat||virt:rhel-8040020210317013608.9f9e2e7e||*|
|Red Hat OpenStack Platform 13.0 (Queens)||RedHat||qemu-kvm-rhev-10:2.12.0-48.el7_9.2||*|
|Red Hat Virtualization 4 for Red Hat Enterprise Linux 7||RedHat||qemu-kvm-rhev-10:2.12.0-48.el7_9.2||*|
|Red Hat Virtualization Engine 4.3||RedHat||qemu-kvm-rhev-10:2.12.0-48.el7_9.2||*|
While assertion is good for catching logic errors and reducing the chances of reaching more serious vulnerability conditions, it can still lead to a denial of service. For example, if a server handles multiple simultaneous connections, and an assert() occurs in one single connection that causes all other connections to be dropped, this is a reachable assertion that leads to a denial of service.