Bundled expat 2.6.4 (xlsxreader) is missing upstream security fixes
Maintainer thường phản hồi trong vòng 4 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 48/100
Hướng nghiên cứu
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.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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.
- Ngôn ngữ chính
- C++
- Star
- 2.1k
- Fork
- 509
- Merge trung bình
- 3 ngày 17 giờ
- Pull request đã merge (30 ngày)
- 13
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của DFHack/dfhack
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 4 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
DFHack/dfhack#5853 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 4 ngày
-
labormanager (modern mode): mismatch probe enables unmanaged stoneworking labors on idle dwarves, bypassing work detailsCó thể đã có người làm @ab9rf đã nhận hôm nay. Đang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 57/100
Maintainer thường phản hồi trong vòng 4 ngày
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
Maintainer thường phản hồi trong vòng 4 ngày
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
Maintainer thường phản hồi trong vòng 4 ngày
Tất cả issue của DFHack/dfhack
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 4 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
elf-alchemist/elfbsp#113 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
patrick-hudson/put.gd-desktop#979 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
Dao-AILab/flash-attention#3097 ·
Maintainer thường phản hồi trong vòng 3 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
Niko1221/Strata#4779 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 3 ngày