Khởi tạo VPS trong 60 giây · Hoàn tiền trong 7 ngày · Hỗ trợ kỹ thuật 24/7
Bitech Bitech
Bảo mật

Cảnh báo lỗ hổng CVE-2026-59161 trong thư viện Excelize gây từ chối dịch vụ (DoS)

Ảnh hưởng đến: git Go
Cảnh báo lỗ hổng CVE-2026-59161 trong thư viện Excelize gây từ chối dịch vụ (DoS)

Lỗ hổng CVE-2026-59161 trên thư viện Excelize (Go) cho phép kẻ tấn công gây cạn kiệt tài nguyên CPU/RAM và từ chối dịch vụ. Hãy nâng cấp lên phiên bản 2.11.0.

Giới thiệu về lỗ hổng CVE-2026-59161

Ngày 10/07/2026, thông tin về lỗ hổng bảo mật nghiêm trọng mang mã hiệu CVE-2026-59161 đã chính thức được công bố. Lỗ hổng này ảnh hưởng trực tiếp đến Excelize - một thư viện mã nguồn mở phổ biến viết bằng ngôn ngữ Go (Golang), được sử dụng rộng rãi để đọc và ghi các tệp bảng tính Microsoft Excel (XLSX).

Mức độ nghiêm trọng và Đối tượng bị ảnh hưởng

  • Mã lỗ hổng: CVE-2026-59161
  • Mức độ nghiêm trọng: HIGH (Mức độ Cao)
  • Ngày phát hành: 10/07/2026
  • Đối tượng bị ảnh hưởng: Tất cả các ứng dụng Golang đang sử dụng thư viện Excelize phiên bản trước 2.11.0.

Chi tiết kỹ thuật và Tác động

Trong các phiên bản Excelize trước 2.11.0, trình đọc trang tính dạng luồng (streaming worksheet reader) được xử lý bởi các hàm RowsGetRows không áp dụng giới hạn TotalRows đối với thuộc tính số hàng r (row attribute).

Kẻ tấn công có thể lợi dụng điểm yếu này bằng cách tạo ra một tệp XLSX có dung lượng rất nhỏ nhưng chứa chỉ số hàng do chúng tùy chỉnh vượt quá giới hạn thông thường (trên 1.048.576 hàng) và không kèm theo tọa độ ô. Khi ứng dụng gọi hàm GetRows để đọc tệp, thư viện sẽ tự động nối thêm các dòng trống liên tiếp cho đến khi đạt tới chỉ số hàng mà kẻ tấn công thiết lập.

Hành vi này khiến ứng dụng tiêu tốn lượng bộ nhớ (RAM) và tài nguyên xử lý (CPU) cực lớn trong thời gian ngắn, dẫn đến sự cố từ chối dịch vụ (Denial of Service - DoS), làm gãy đổ hoặc treo hệ thống backend xử lý tệp.

Khuyến nghị khắc phục

Để bảo đảm an toàn cho hệ thống và tránh nguy cơ bị khai thác gián đoạn dịch vụ, Bitech khuyến nghị các đơn vị phát triển phần mềm thực hiện ngay các biện pháp sau:

  1. Cập nhật thư viện ngay lập tức: Nâng cấp thư viện Excelize trong dự án Golang lên phiên bản v2.11.0 hoặc phiên bản mới hơn. Sự cố đã được xử lý triệt để trong bản phát hành này.
  2. Lệnh cập nhật: Sử dụng công cụ quản lý module của Go để nâng cấp phiên bản bằng lệnh: go get -u github.com/qax-os/excelize/v2
  3. Rà soát dữ liệu đầu vào: Tăng cường kiểm tra kích thước và định dạng tệp tải lên trước khi đưa vào các hàm xử lý dữ liệu luồng.

Nguồn tham khảo


Ngày phát hành: 10/07/2026
Nguồn: NVD — CVE-2026-59161
Tham khảo: https://github.com/qax-os/excelize/commit/93f0b3caed37f21ef5079e3259c6c21dcfe68453
Tham khảo: https://github.com/qax-os/excelize/pull/2331
Tham khảo: https://github.com/qax-os/excelize/releases/tag/v2.11.0