FreeBSD VuXML: Documenting security issues in FreeBSD and the FreeBSD Ports Collection

FreeBSD -- Bhyve e82545 device emulation out-of-bounds write

Affected packages
13.0 <= FreeBSD-kernel < 13.0_11
12.3 <= FreeBSD-kernel < 12.3_5

Details

VuXML ID ba796b98-b61c-11ec-9ebc-1c697aa5a594
Discovery 2022-04-06
Entry 2022-04-07

Problem Description:

The e1000 network adapters permit a variety of modifications to an Ethernet packet when it is being transmitted. These include the insertion of IP and TCP checksums, insertion of an Ethernet VLAN header, and TCP segmentation offload ("TSO"). The e1000 device model uses an on-stack buffer to generate the modified packet header when simulating these modifications on transmitted packets.

When checksum offload is requested for a transmitted packet, the e1000 device model used a guest-provided value to specify the checksum offset in the on-stack buffer. The offset was not validated for certain packet types.

Impact:

A misbehaving bhyve guest could overwrite memory in the bhyve process on the host, possibly leading to code execution in the host context.

The bhyve process runs in a Capsicum sandbox, which (depending on the FreeBSD version and bhyve configuration) limits the impact of exploiting this issue.

References

CVE Name CVE-2022-23087
FreeBSD Advisory SA-22:05.bhyve