From: Siddharth Doshi <[email protected]> v2.15.4: Sep 01 2026
- xmlregexp: Prevent out-of-bounds read in NXT macro - fix: add missing overflow checks in dict.c, uri.c, and valid.c - xmlregexp: Calc string length after null checking - xpointer: Check overflow in xmlXPtrEvalXPtrPart - xmlIO: Check for int overflow before calling writecallback - fix(xinclude): propagate parseFlags in xmlXIncludeProcess and xmlXIncludeProcessTree - Improve bound checks for xmlcatalog and xmllint arguments (out-of-bound) - Fix memory leak in static Windows library (memory-leak) - xmlreader: Copy DTD in xmlTextReaderDumpCopy - parser: Fix double free in xmlIOParseDTD (double-free) - parser: fix division-by-zero when maxAmpl is set to 0 - parser: Fix memory leak in xmlCtxtSetSaxHandler (memory-leak) - catalog: Make sure to reset catalog resolve cache - xmlAddChild: unlink node before free for text nodes (memory-leak) - Normalize entity values in attr in xmlNodeGetContent - Handle whitespace for date/time/duration types - catalog: Fix NULL deref for nextCatalog without 'catalog' attribute (null-deref) For detailed information, see the link below: [1] https://gitlab.gnome.org/GNOME/libxml2/-/commit/96498992efa48d52b0e8b83058bd88dbdaf153c1 Note: Removed CVE-2026-11979 as it is already fixed. CVE's Fixed: CVE-2026-11979 (CVSSv3: 7.8): https://nvd.nist.gov/vuln/detail/CVE-2026-11979 CVE-2026-86137 (CVSSv3: 2.9): https://nvd.nist.gov/vuln/detail/CVE-2026-86137 CVE-2026-86138 (CVSSv3: 6.9): https://nvd.nist.gov/vuln/detail/CVE-2026-86138 CVE-2026-86139 (CVSSv3: 6.9): https://nvd.nist.gov/vuln/detail/CVE-2026-86139 CVE-2026-86140 (CVSSv3: 8.0): https://nvd.nist.gov/vuln/detail/CVE-2026-86140 CVE-2026-86141 (CVSSv3: 2.9): https://nvd.nist.gov/vuln/detail/CVE-2026-86141 CVE-2026-86142 (CVSSv3: 6.9): https://nvd.nist.gov/vuln/detail/CVE-2026-86142 CVE-2026-86143 (CVSSv3: 6.9): https://nvd.nist.gov/vuln/detail/CVE-2026-86143 CVE-2026-86144 (CVSSv3: 5.6): https://nvd.nist.gov/vuln/detail/CVE-2026-86144 Signed-off-by: Richard Purdie <[email protected]> (cherry picked from commit 8875c7e8dbecc0700aa6db49b66b8d77a21938b1) Signed-off-by: Siddharth Doshi <[email protected]> Signed-off-by: Yoann Congal <[email protected]> [YC: I merged commit message from master/RP and Siddharth] --- .../libxml/libxml2/CVE-2026-11979.patch | 81 ------------------- .../{libxml2_2.15.3.bb => libxml2_2.15.4.bb} | 3 +- 2 files changed, 1 insertion(+), 83 deletions(-) delete mode 100644 meta/recipes-core/libxml/libxml2/CVE-2026-11979.patch rename meta/recipes-core/libxml/{libxml2_2.15.3.bb => libxml2_2.15.4.bb} (96%) diff --git a/meta/recipes-core/libxml/libxml2/CVE-2026-11979.patch b/meta/recipes-core/libxml/libxml2/CVE-2026-11979.patch deleted file mode 100644 index a14e566681e..00000000000 --- a/meta/recipes-core/libxml/libxml2/CVE-2026-11979.patch +++ /dev/null @@ -1,81 +0,0 @@ -From dfad0660f7dab3b5f8317b703b16ad0b0d12697d Mon Sep 17 00:00:00 2001 -From: Daniel Garcia Moreno <[email protected]> -Date: Fri, 22 May 2026 12:21:20 +0200 -Subject: [PATCH] xmlcatalog: overflow check for large --shell commands - -Fix https://gitlab.gnome.org/GNOME/libxml2/-/work_items/1124 - -CVE: CVE-2026-11979 -Signed-off-by: Anton Skorup <[email protected]> -Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/libxml2/-/commit/c2e233fc1b341685fc99621b2768b503f777a72e] ---- - test/catalogs/test.sh | 11 +++++++++++ - xmlcatalog.c | 16 ++++++++++++++++ - 2 files changed, 27 insertions(+) - -diff --git a/test/catalogs/test.sh b/test/catalogs/test.sh -index 7e5eaa76..84e8b90a 100755 ---- a/test/catalogs/test.sh -+++ b/test/catalogs/test.sh -@@ -10,6 +10,17 @@ fi - - exitcode=0 - -+# Test xmlcatalog --shell command line -+# Case 1: Really long argument (470 chars) -+input=""; for i in {1..470}; do input="${input}A"; done -+echo $input | $xmlcatalog --shell test/catalogs/dockbook.xml || exit 1 -+# Case 2: public + long argument -+input="public "; for i in {1..470}; do input="${input}A"; done -+echo $input | $xmlcatalog --shell test/catalogs/dockbook.xml || exit 1 -+# Case 3: public + lots of args -+input="public "; for i in {1..80}; do input="${input} x"; done -+echo $input | $xmlcatalog --shell test/catalogs/dockbook.xml || exit 1 -+ - for i in test/catalogs/*.script ; do - name=$(basename $i .script) - xml="./test/catalogs/$name.xml" -diff --git a/xmlcatalog.c b/xmlcatalog.c -index b400c7cb..5113e930 100644 ---- a/xmlcatalog.c -+++ b/xmlcatalog.c -@@ -135,6 +135,12 @@ static void usershell(void) { - (*cur != '\n') && (*cur != '\r')) { - if (*cur == 0) - break; -+ /* Do not read beyond the command array capacity */ -+ if (i >= (int)sizeof(command) - 2) { -+ printf("Invalid command %s\n", cur); -+ i = 0; -+ break; -+ } - command[i++] = *cur++; - } - command[i] = 0; -@@ -152,6 +158,11 @@ static void usershell(void) { - while ((*cur != '\n') && (*cur != '\r') && (*cur != 0)) { - if (*cur == 0) - break; -+ if (i >= (int)sizeof(arg) - 2) { -+ printf("Invalid arg %s\n", arg); -+ i = 0; -+ break; -+ } - arg[i++] = *cur++; - } - arg[i] = 0; -@@ -164,6 +175,11 @@ static void usershell(void) { - cur = arg; - memset(argv, 0, sizeof(argv)); - while (*cur != 0) { -+ if (i >= (int)sizeof(argv) / (int)sizeof(char*)) { -+ printf("Too much arguments\n"); -+ break; -+ } -+ - while ((*cur == ' ') || (*cur == '\t')) cur++; - if (*cur == '\'') { - cur++; --- -2.43.0 - diff --git a/meta/recipes-core/libxml/libxml2_2.15.3.bb b/meta/recipes-core/libxml/libxml2_2.15.4.bb similarity index 96% rename from meta/recipes-core/libxml/libxml2_2.15.3.bb rename to meta/recipes-core/libxml/libxml2_2.15.4.bb index abf9889b3f3..fc367892bfe 100644 --- a/meta/recipes-core/libxml/libxml2_2.15.3.bb +++ b/meta/recipes-core/libxml/libxml2_2.15.4.bb @@ -18,11 +18,10 @@ SRC_URI += "http://www.w3.org/XML/Test/xmlts20130923.tar;subdir=${BP};name=testt file://run-ptest \ file://install-tests.patch \ file://0001-Revert-cmake-Fix-installation-directories-in-libxml2.patch \ - file://CVE-2026-11979.patch \ " -SRC_URI[archive.sha256sum] = "78262a6e7ac170d6528ebfe2efccdf220191a5af6a6cd61ea4a9a9a5042c7a07" SRC_URI[testtar.sha256sum] = "c6b2d42ee50b8b236e711a97d68e6c4b5c8d83e69a2be4722379f08702ea7273" +SRC_URI[archive.sha256sum] = "98087fd181d9070724f3fbc65c7377db03038eb92bd882374daff44940138821" CVE_STATUS[CVE-2025-6170] = "fixed-version: fixed in version 2.14.5" CVE_STATUS[CVE-2026-6732] = "fixed-version: fixed in version 2.15.3"
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#246104): https://lists.openembedded.org/g/openembedded-core/message/246104 Mute This Topic: https://lists.openembedded.org/mt/121305582/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
