Release date:
2026-09-14 14:08:17 UTC
Description:
* SECURITY UPDATE: Out-of-bounds read and resultant infinite loop
because low surrogates were treated the same as high surrogates in
the *_toUtf16 functions (libexpat before 2.8.3)
- debian/patches/CVE-2026-72522.patch: mask the high byte of the
trailing code unit with 0xFC instead of 0xF8 in the
DEFINE_UTF16_TO_UTF16(E) macro in expat/lib/xmltok.c, so the guard
that avoids splitting a surrogate pair across two conversion calls
matches only genuine high surrogates (0xD800-0xDBFF) and no longer
accepts low surrogates (0xDC00-0xDFFF). On a buffer ending in a
lone low surrogate the old test reported
XML_CONVERT_INPUT_INCOMPLETE without consuming any input, so the
caller retried while reading two bytes past the intended limit.
One edit covers both little2_toUtf16 and big2_toUtf16. Reachable
in the libexpatw (-DXML_UNICODE) build, which is where xmlparse.c
maps XmlConvert to XmlUtf16Convert.
- CVE-2026-72522
* SECURITY UPDATE: Use-after-free because handler call depth tracking
was missing for custom encoding callbacks (libexpat before 2.8.4)
- debian/patches/CVE-2026-76957.patch: route the application's
unknown-encoding convert and release callbacks through the new
callUnknownEncodingConvert() and callUnknownEncodingRelease()
wrappers in expat/lib/xmlparse.c, storing the application callback
in the new m_unknownEncodingConvert member and passing the parser
itself as the encoding's user data. handleUnknownEncoding
previously handed both callbacks out unwrapped, so
m_handlerCallDepth stayed at zero while they ran and the
reentrancy guard that rejects XML_ParserFree, XML_GetBuffer and
XML_ResumeParser from inside a handler did not fire for them.
- CVE-2026-76957
Updated packages:
-
expat_2.2.10-2+deb11u7+tuxcare.els2_amd64.deb
sha:d6c640981ea23623db899ff3cf51007fac8d4692
-
libexpat1_2.2.10-2+deb11u7+tuxcare.els2_amd64.deb
sha:847a9e53799d9b9fb7153d87f09b2a38d00e468e
-
libexpat1-dev_2.2.10-2+deb11u7+tuxcare.els2_amd64.deb
sha:8cca60084c84cb2172b45a4387adcc8e0ac4873d
-
expat_2.2.10-2+deb11u7+tuxcare.els2_arm64.deb
sha:f342603d9281ea003d0f9fa59a0500a3d9124549
-
libexpat1_2.2.10-2+deb11u7+tuxcare.els2_arm64.deb
sha:e189f34d35fb5d6a7f1e00b03556fa94783e161a
-
libexpat1-dev_2.2.10-2+deb11u7+tuxcare.els2_arm64.deb
sha:1b86666921d12e4c27a525851e48861fa55874a2
-
expat_2.2.10-2+deb11u7+tuxcare.els2_armel.deb
sha:795e81b86305bba4b36f23a669fb1909a306c488
-
libexpat1_2.2.10-2+deb11u7+tuxcare.els2_armel.deb
sha:8de8d055645c5b0cc17d35e964aa68b7bb4a3618
-
libexpat1-dev_2.2.10-2+deb11u7+tuxcare.els2_armel.deb
sha:3e96c121f35d33b32173574ff06797644caf2ab4
Notes:
This page is generated automatically and has not been checked for errors. For clarification or
corrections please contact the
CloudLinux Packaging Team.