diff --git a/meta-oe/recipes-connectivity/libnfs/libnfs/CVE-2026-57918.patch b/meta-oe/recipes-connectivity/libnfs/libnfs/CVE-2026-57918.patch new file mode 100644 index 0000000000..27c99b5704 --- /dev/null +++ b/meta-oe/recipes-connectivity/libnfs/libnfs/CVE-2026-57918.patch @@ -0,0 +1,34 @@ +From 589568b88a06d92b298ecce563ae57b5fad91238 Mon Sep 17 00:00:00 2001 +From: Ronnie Sahlberg +Date: Wed, 10 Jun 2026 12:21:58 +1000 +Subject: [PATCH] socket: prevent an underflow in xid + +if the expected pdu-size is larger than the absolute pdu size +from the xid/record-marker. + +Reported-by: Nick Hummel +Signed-off-by: Ronnie Sahlberg +(cherry picked from commit 935b8db712b3c6649bc57ddc276526c4a31680de) + +CVE: CVE-2026-57918 +Upstream-Status: Backport [https://github.com/sahlberg/libnfs/commit/935b8db712b3c6649bc57ddc276526c4a31680de] + +Signed-off-by: Ankur Tyagi +--- + lib/socket.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/lib/socket.c b/lib/socket.c +index f51ca4d..8e38eb8 100644 +--- a/lib/socket.c ++++ b/lib/socket.c +@@ -929,6 +929,9 @@ rpc_read_from_socket(struct rpc_context *rpc) + break; + case READ_IOVEC: + rpc->pdu->read_count -= rpc->pdu_size; ++ if (rpc->rm_xid[0] < rpc->pdu_size) { ++ return -1; ++ } + rpc->rm_xid[0] -= rpc->pdu_size; + if (!rpc->rm_xid[0]) { + rpc_finished_pdu(rpc); diff --git a/meta-oe/recipes-connectivity/libnfs/libnfs_6.0.2.bb b/meta-oe/recipes-connectivity/libnfs/libnfs_6.0.2.bb index 403bae9465..36676708cb 100644 --- a/meta-oe/recipes-connectivity/libnfs/libnfs_6.0.2.bb +++ b/meta-oe/recipes-connectivity/libnfs/libnfs_6.0.2.bb @@ -6,6 +6,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=825301ba17efc9d188ee0abd4b924ada" SRC_URI = "git://github.com/sahlberg/libnfs.git;protocol=https;branch=master \ file://0001-CMakeLists.txt-respect-CMAKE_INSTALL_LIBDIR-for-mult.patch \ file://CVE-2026-53689.patch \ + file://CVE-2026-57918.patch \ " SRCREV = "18c5c73ee88bb7dc8da0d55dc95164bb77e49dc6"