Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Bundled expat 2.6.4 (xlsxreader) is missing upstream security fixes

Đang mở
#6,025 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

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
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
cpp, xml
Lĩnh vực
backend, security

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

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của DFHack/dfhack

Tất cả issue của DFHack/dfhack

Issue tương tự

Thêm issue về C++

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.