Tóm tắt nhanh
- NLTK có lỗ hổng DoS tiêu thụ CPU trong ConllCorpusReader.srl_instances().
- NLTK 3.10.3 trở xuống bị ảnh hưởng khi xử lý corpus CoNLL không tin cậy qua API SRL.
- NLTK 3.10.4 đã có bản vá; ưu tiên nâng cấp nếu ứng dụng thuộc điều kiện ảnh hưởng.
NLTK vá lỗ hổng DoS trong ConllCorpusReader: nâng cấp lên phiên bản 3.10.4
GitHub ghi nhận lỗ hổng CVE-2026-126297 trong NLTK có thể khiến ứng dụng mất khả năng phục vụ do tiêu thụ CPU khi xử lý corpus CoNLL không tin cậy bằng srl_instances(). Nâng cấp nltk lên 3.10.4; bản 3.10.3 trở xuống bị ảnh hưởng.
Nội dung bài viết
GitHub Advisories công bố lỗ hổng CVE-2026-126297 trong thư viện Python NLTK, có thể làm ứng dụng mất khả năng phục vụ khi xử lý dữ liệu CoNLL nhất định. Bản tin khuyến nghị nâng cấp lên NLTK 3.10.4; xem GitHub Advisory GHSA-v8f3-6phw-6mh9.
Tổng quan và thông tin kỹ thuật
NLTK là thư viện Python xử lý ngôn ngữ tự nhiên. Lỗ hổng nằm trong ConllCorpusReader.srl_instances(), hàm tạo các instance gán nhãn vai trò ngữ nghĩa từ corpus CoNLL. Khi bị kích hoạt, lỗi gây tiêu thụ CPU kéo dài và ảnh hưởng tính sẵn sàng.
| Thông tin | Chi tiết |
|---|---|
| Sản phẩm | NLTK |
| Mã định danh | CVE-2026-126297; GHSA-v8f3-6phw-6mh9 |
| CWE | CWE-400 (Uncontrolled Resource Consumption); CWE-407 (Inefficient Algorithmic Complexity) |
| CVSS | 7.5 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H) |
Phạm vi ảnh hưởng
| Sản phẩm | Phiên bản ảnh hưởng | Phiên bản đã vá |
|---|---|---|
| pip:nltk | 3.10.3 trở xuống | 3.10.4 |
Lỗ hổng áp dụng khi ứng dụng xử lý dữ liệu CoNLL không tin cậy qua API SRL với các cột words, pos, tree và srl, đồng thời gọi srl_instances(). Triển khai không gọi hàm này không bị ảnh hưởng.
Cơ chế và tác động
Hàm _get_srl_instances quét lồng các cột span để tìm head của từng predicate, với độ phức tạp O(P^2 * R). Đặt head span duy nhất ở cột cuối buộc hàm quét toàn bộ cột trước đó cho mỗi predicate, khiến CPU đơn luồng bị tiêu thụ kéo dài và dịch vụ có thể mất khả năng phục vụ.
Không cần xác thực hoặc tương tác người dùng để kích hoạt điều kiện ảnh hưởng. Tác động được xác nhận là DoS; hồ sơ cho biết lỗ hổng không ảnh hưởng tính bí mật hoặc toàn vẹn.
Kiểm tra hệ thống
Kiểm tra phiên bản NLTK được cài trong môi trường Python của ứng dụng:
python -m pip show nltkPhiên bản 3.10.4 đã có 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
Nâng cấp gói
pip:nltklên phiên bản 3.10.4, đặc biệt nếu ứng dụng xử lý corpus CoNLL không tin cậy và gọisrl_instances().