Update lxml to 6.1.3, libxslt to 1.1.45 and libxml to 2.15.3 - #656
Open
javihern98 wants to merge 3 commits into
Open
Update lxml to 6.1.3, libxslt to 1.1.45 and libxml to 2.15.3#656javihern98 wants to merge 3 commits into
javihern98 wants to merge 3 commits into
Conversation
Package lxml 6.0.2 uses libxml 2.14.6 for binary wheels. Updated to reflect this change. GNOME home page was also updated.
4 tasks
lxml 6.1.0 fixes CVE-2026-41066 (XXE through iterparse() and ETCompatXMLParser). libxslt 1.1.44+ requires libxml2 >= 2.15.1, so libxml goes to 2.15.3 on top of the 2.14.6 update; --with-lzma is gone because libxml2 2.15 removed LZMA support. With the corrected --with-iconv path libxml2 links GNU libiconv, whose symbols lxml's setup.py does not link (-lxslt -lexslt -lxml2 -lz -lm), so lxml.etree failed to import with 'cannot resolve symbol libiconv_open'. Add -liconv to the lxml link flags.
javihern98
force-pushed
the
update-lxml-6.1
branch
from
September 3, 2026 12:46
e498645 to
dbf4c6c
Compare
javihern98
marked this pull request as ready for review
September 3, 2026 13:27
3 tasks
javihern98
added a commit
to Meaningful-Data/vtlengine
that referenced
this pull request
Sep 3, 2026
The demo README, build.sh and patch_lock.py now say that pysdmx's lxml >= 6.1.0 floor is being addressed in the Pyodide recipes (pyodide/pyodide-recipes#656: lxml 6.1.3, libxslt 1.1.45, libxml2 2.15.3), so a next Pyodide release makes the lockfile workaround and the two-step micropip install unnecessary.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Updates the XML stack to the current security releases: lxml 6.0.2 → 6.1.3 (fixes CVE-2026-41066, XXE through
iterparse()andETCompatXMLParser), libxslt 1.1.33 → 1.1.45 (CVE-2024-55549, CVE-2025-24855, CVE-2025-7424, CVE-2025-11731) and libxml2 2.9.10 → 2.15.3. Closes #655.Built on top of #650 (its two commits are included): libxslt 1.1.44+ requires libxml2 >= 2.15.1, so libxml goes to 2.15.3 rather than 2.14.6. The
--with-lzma="no"flag is dropped because libxml2 2.15 removed LZMA support altogether (xzlib.cand the configure option are gone; 2.15.0 release notes: "The built-in HTTP client and support for LZMA compression were removed"). configure would only warn about the unknown option, and the wasm build never had LZMA since the old recipe disabled it, so nothing changes for users.lxml gets
-L$(WASM_LIBRARY_DIR)/lib -liconv. With the corrected--with-iconv="${WASM_LIBRARY_DIR}"from #650, libxml2 links GNU libiconv (libiconv_open), whereas the current 2.9.10 build silently uses musl'siconv_openbecause${WASM_LIBRARY_DIR}/lib/includedoes not exist. lxml'ssetup.pylinks only-lxslt -lexslt -lxml2 -lz -lm, so without the flaglxml.etreefails to import withDynamic linking error: cannot resolve symbol libiconv_open. libnetcdf's consumers may need the same flag once #650 lands.Local build with the
pyodide-buildsubmodule, the 314.0.6 xbuildenv and Emscripten 5.0.3: libxml 22 s, libxslt 28 s, lxml 41 s;pytest --rt node packages/lxmlpasses (test_lxml[node],test_import[node-lxml]); on the stock 314.0.6 runtimeetree.LIBXML_VERSIONis 2.15.3 andLIBXSLT_VERSION1.1.45, XPath/XSLT/EXSLT/objectify/htmlwork, anditerparse()no longer resolves<!ENTITY ext SYSTEM "file:///...">(the shipped 6.0.2 returns the file's content). The wheel grows from 1.64 MB to 2.15 MB because libiconv is now really linked in.Type of change