diff --git a/meta-oe/recipes-extended/libyang/libyang/CVE-2026-41401.patch b/meta-oe/recipes-extended/libyang/libyang/CVE-2026-41401.patch new file mode 100644 index 0000000000..06537acbb8 --- /dev/null +++ b/meta-oe/recipes-extended/libyang/libyang/CVE-2026-41401.patch @@ -0,0 +1,43 @@ +From 34b2a26ee86716e2b593c44e51e38ee15d4e8434 Mon Sep 17 00:00:00 2001 +From: Michal Vasko +Date: Thu, 26 Mar 2026 08:33:44 +0100 +Subject: [PATCH] parser common BUGFIX invalid metadata removal + +(cherry picked from commit 54c3276d871023da266d4ed3ceaee7e8d71d0b04) + +CVE: CVE-2026-41401 +Upstream-Status: Backport [https://github.com/CESNET/libyang/commit/54c3276d871023da266d4ed3ceaee7e8d71d0b04] + +Signed-off-by: Ankur Tyagi +--- + src/parser_common.c | 4 ++-- + tests/fuzz/corpus/lyd_parse_mem_xml/advisory2026_03_26 | 5 +++++ + 2 files changed, 7 insertions(+), 2 deletions(-) + create mode 100644 tests/fuzz/corpus/lyd_parse_mem_xml/advisory2026_03_26 + +diff --git a/src/parser_common.c b/src/parser_common.c +index 0b221af72..fefe723eb 100644 +--- a/src/parser_common.c ++++ b/src/parser_common.c +@@ -413,8 +413,8 @@ lyd_parser_set_data_flags(struct lyd_node *node, struct lyd_meta **meta, struct + next_meta = meta2->next; + + /* delete the metadata */ +- if (meta != &node->meta) { +- *meta = (*meta)->next; ++ if ((meta != &node->meta) && (meta2 == *meta)) { ++ *meta = next_meta; + } + lyd_free_meta_single(meta2); + if (prev_meta) { +diff --git a/tests/fuzz/corpus/lyd_parse_mem_xml/advisory2026_03_26 b/tests/fuzz/corpus/lyd_parse_mem_xml/advisory2026_03_26 +new file mode 100644 +index 000000000..7e3b6c39e +--- /dev/null ++++ b/tests/fuzz/corpus/lyd_parse_mem_xml/advisory2026_03_26 +@@ -0,0 +1,5 @@ ++5 diff --git a/meta-oe/recipes-extended/libyang/libyang_3.13.6.bb b/meta-oe/recipes-extended/libyang/libyang_3.13.6.bb index 822c30ba24..7724b4c218 100644 --- a/meta-oe/recipes-extended/libyang/libyang_3.13.6.bb +++ b/meta-oe/recipes-extended/libyang/libyang_3.13.6.bb @@ -11,6 +11,7 @@ SRCREV = "c2ddd01b9b810a30d6a7d6749a3bc9adeb7b01fb" SRC_URI = "git://github.com/CESNET/libyang.git;branch=master;protocol=https;tag=v${PV} \ file://0001-test_context-skip-test-case-test_searchdirs.patch \ file://run-ptest \ + file://CVE-2026-41401.patch \ "