Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Bundled expat 2.6.4 (xlsxreader) is missing upstream security fixes

Offen
#6,025 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 4 Tagen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
48/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Aktiv
Tech-Stack
cpp, xml
Bereich
backend, security

Rechercherichtung

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.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

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.

Vorherrschende Sprache
C++
Sterne
2.1k
Forks
509
Ø Merge
3 T. 17 Std.
Gemergte PRs (30 T.)
13

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus DFHack/dfhack

Alle Issues in DFHack/dfhack

Ähnliche Issues

Weitere Issues zu C++

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.