Bundled expat 2.6.4 (xlsxreader) is missing upstream security fixes
Les mainteneurs répondent en général sous 4 jours
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 48/100
Piste de recherche
Start by inspecting the depends/libexpat submodule revision and how xlsxreader uses xlsxio to pass sheet XML to expat; the issue identifies both entry points. Check the bundled expat version in the Linux release and compare it with the upstream fixes listed here. Done means updating the dependency to expat 2.9.0 or later and confirming the bundled xlsxreader uses that version.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Hi,
depends/libexpat points to DFHack/libexpat e3ea446, whose upstream base is libexpat 2691aff (expat 2.6.4, November 2024). The 53.16-r3 Linux release ships this code in hack/plugins/xlsxreader.plug.so, which reports "expat_2.6.4". The submodule on develop is the same.
xlsxreader opens .xlsx files through xlsxio, which feeds the sheet XML to expat with XML_ParseBuffer, so expat parses whatever spreadsheet a user loads, for example a quickfort blueprint downloaded from elsewhere.
expat releases since 2.6.4 fix issues that a crafted document can reach on this path, including:
- CVE-2024-8176, stack overflow from chaining many entities (fixed in 2.7.0)
- CVE-2025-59375, large memory allocations from a small document (2.7.2)
- CVE-2026-41080, too little salt entropy in the hash flooding protection (2.8.0)
- CVE-2026-45186, quadratic time in attribute name collision checks (2.8.1)
- CVE-2026-66046, quadratic time in attribute CDATA lookups (2.8.4)
- CVE-2026-93990, malformed UTF-16 accepted (2.8.5)
Later releases also add integer overflow checks for very large inputs. Updating depends/libexpat to expat 2.9.0 or later would pick all of these up. They are already public, and I have not tried to trigger any of them in DFHack.
- Langage dominant
- C++
- Étoiles
- 2.1k
- Forks
- 509
- Merge moyen
- 3 j 17 h
- PR mergées (30 j)
- 13
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de DFHack/dfhack
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 4 jours
-
Difficulté 2/5 1-3 heures Accessibilité débutants 66/100
DFHack/dfhack#5853 · 1 commentaire ·
Les mainteneurs répondent en général sous 4 jours
-
labormanager (modern mode): mismatch probe enables unmanaged stoneworking labors on idle dwarves, bypassing work detailsPeut-être pris @ab9rf l’a pris aujourd’hui. Ouverte
Difficulté 3/5 1-2 jours Accessibilité débutants 57/100
Les mainteneurs répondent en général sous 4 jours
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
Les mainteneurs répondent en général sous 4 jours
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
Les mainteneurs répondent en général sous 4 jours
Toutes les issues de DFHack/dfhack
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
scp-fs2open/fs2open.github.com#7965 ·
Les mainteneurs répondent en général sous 1 jour
-
[Bug][CuTeDSL][Fuzz] `utils.gemm.sm100.epilogue` releases the accumulator before `tcgen05.ld` completes: no `tcgen05.wait::ld` before the arrive that lets the next MMA overwrite TMEMPeut-être pris Une pull request liée à cette issue est ouverte ou déjà fusionnée. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 4 jours
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
elf-alchemist/elfbsp#113 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
patrick-hudson/put.gd-desktop#979 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
Dao-AILab/flash-attention#3097 ·
Les mainteneurs répondent en général sous 3 jours