diff --git a/meta-imx-sdk/recipes-extended/dpdk/dpdk/CVE-2024-11614.patch b/meta-imx-sdk/recipes-extended/dpdk/dpdk/CVE-2024-11614.patch new file mode 100644 index 0000000000..9ea5bb0538 --- /dev/null +++ b/meta-imx-sdk/recipes-extended/dpdk/dpdk/CVE-2024-11614.patch @@ -0,0 +1,33 @@ +Subject: [PATCH] net/virtio: fix Rx checksum calculation + +If hdr->csum_start is larger than packet length, the len argument passed +to rte_raw_cksum_mbuf() overflows and causes a segmentation fault. + +Ignore checksum computation in this case. + +CVE-2024-11614 + +Fixes: ca7036b4af3a ("vhost: fix offload flags in Rx path") +Signed-off-by: Maxime Gouin +Signed-off-by: Olivier Matz +(cherry picked from commit 2b85965865e543373163577c0bba6c4e1dc3a3ad) +--- + lib/vhost/virtio_net.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/lib/vhost/virtio_net.c b/lib/vhost/virtio_net.c +index 9f314f83c7..9c9d05d4d9 100644 +--- a/lib/vhost/virtio_net.c ++++ b/lib/vhost/virtio_net.c +@@ -2593,6 +2593,9 @@ vhost_dequeue_offload(struct virtio_net *dev, struct virtio_net_hdr *hdr, + */ + uint16_t csum = 0, off; + ++ if (hdr->csum_start >= rte_pktmbuf_pkt_len(m)) ++ return; ++ + if (rte_raw_cksum_mbuf(m, hdr->csum_start, + rte_pktmbuf_pkt_len(m) - hdr->csum_start, &csum) < 0) + return; +-- +2.34.1 diff --git a/meta-imx-sdk/recipes-extended/dpdk/dpdk_22.11.bb b/meta-imx-sdk/recipes-extended/dpdk/dpdk_22.11.bb index 0f6fc703b8..b5fbeff813 100644 --- a/meta-imx-sdk/recipes-extended/dpdk/dpdk_22.11.bb +++ b/meta-imx-sdk/recipes-extended/dpdk/dpdk_22.11.bb @@ -11,6 +11,8 @@ DEPENDS = "numactl python3-pyelftools-native libpcap" SRC_URI = "${DPDK_SRC};nobranch=1" DPDK_SRC ?= "git://github.com/nxp-qoriq/dpdk;protocol=https" +SRC_URI:append = " file://CVE-2024-11614.patch" + STABLE = "-stable" SRCREV = "9298b898fe38482fbb293d431cdeea4297c17e70"