14/11/2026

NLTK 3.10.3 trở xuống có thể bị DoS CPU: nâng cấp lên 3.10.4

CVE-2026-126298

GitHub ghi nhận CVE-2026-126298 trong NLTK: xử lý cây rộng bằng Tree.chomsky_normal_form() có thể gây tiêu thụ CPU và giảm khả năng sẵn sàng. NLTK đến 3.10.3 bị ảnh hưởng; ưu tiên nâng cấp lên 3.10.4.

NLTK 3.10.3 trở xuống có thể bị DoS CPU: nâng cấp lên 3.10.4

Tóm tắt nhanh

  • NLTK có lỗ hổng từ chối dịch vụ CPU CVE-2026-126298.
  • NLTK trên PyPI phiên bản 3.10.3 trở xuống bị ảnh hưởng; có thể giảm khả năng sẵn sàng.
  • Ưu tiên nâng cấp lên NLTK 3.10.4.
Nội dung bài viết

GitHub Advisories ghi nhận lỗ hổng trong bước right-factor của phép chuyển đổi cây cú pháp trong NLTK. Xem advisory GHSA-r53h-rw34-8h97 để biết thông tin nguồn.

Tổng quan và thông tin kỹ thuật

NLTK là thư viện Python xử lý ngôn ngữ tự nhiên; Tree.chomsky_normal_form() chuyển cây phân tích cú pháp sang dạng chuẩn Chomsky. Lỗ hổng CVE-2026-126298 có thể khiến việc xử lý đầu vào cây rộng tiêu thụ CPU.

Thông tinChi tiết
MãCVE-2026-126298; GHSA-r53h-rw34-8h97
CWECWE-400, CWE-407
CVSS7.5 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H)
NguồnGitHub Advisories

Phạm vi ảnh hưởng

Sản phẩmPhiên bản ảnh hưởngPhiên bản đã sửa
NLTK (PyPI, pip)3.10.3 trở xuống3.10.4

Cơ chế và tác động

Nhánh right-factor mặc định gọi list.pop(0) lặp lại khi nhị phân hóa nút cây. Việc dịch các phần tử khiến độ phức tạp là O(N²); kẻ tấn công có thể cung cấp cây rộng qua Tree.fromstring cho ứng dụng gọi Tree.chomsky_normal_form(), gây tiêu thụ CPU đơn luồng và giảm khả năng sẵn sàng. Không cần xác thực hay tương tác người dùng. Khoảng 1,5 MB dữ liệu cây có thể tiêu tốn khoảng 14 giây trên một lõi. Nhánh left-factor dùng pop() và có độ phức tạp tuyến tính; timeout biểu thức chính quy không bao phủ vòng lặp Python này.

Kiểm tra hệ thống

  1. Kiểm tra phiên bản NLTK đang được cài trong môi trường Python của ứng dụng:

    python -m pip show nltk
    python -c "import nltk; print(nltk.__version__)"

    Phiên bản 3.10.4 đã bao gồm bản vá; phiên bản 3.10.3 trở xuống thuộc phạm vi bị ảnh hưởng.

Khắc phục và giảm thiểu

  1. Ưu tiên nâng cấp NLTK lên phiên bản 3.10.4.

  2. Nếu chưa thể nâng cấp, hạn chế số con của cây đầu vào không tin cậy và thực thi phép biến đổi trong worker cô lập với ngân sách CPU hoặc thời gian.

Nguồn tham khảo

Bài viết liên quan