Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions meta-sdk/recipes-extended/dpdk/dpdk.inc
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ DPDK_SRC ?= "git://github.com/nxp-qoriq/dpdk;protocol=https"
SRC_URI = "${DPDK_SRC};nobranch=1 \
"

SRC_URI:append = " file://CVE-2024-11614.patch"

STABLE = "-stable"
SRCREV = "de541ae3fa6e18fa0293991b40e84ac3814a750c"

Expand Down
43 changes: 43 additions & 0 deletions meta-sdk/recipes-extended/dpdk/dpdk/CVE-2024-11614.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
From 4dc4e33ffa108e945fc8a1e2bbc7819791faa61e Mon Sep 17 00:00:00 2001
From: Olivier Matz <[email protected]>
Date: Thu, 28 Nov 2024 12:09:56 +0100
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 <[email protected]>
Signed-off-by: Olivier Matz <[email protected]>
Reviewed-by: Maxime Coquelin <[email protected]>

CVE: CVE-2024-11614

Upstream-Status: Backport [https://git.dpdk.org/dpdk/commit/?id=4dc4e33ffa108e945fc8a1e2bbc7819791faa61e]

Signed-off-by: Min Wang1 <[email protected]>
---
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 be28ea5151..5df9e36bfd 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