Tóm tắt nhanh
- CVE-2026-126303 khiến SteppingRecursiveDescentParser.parse() có thể tiêu thụ CPU không giới hạn.
- NLTK phiên bản 3.10.3 trở xuống bị ảnh hưởng; tác động đã xác nhận là từ chối dịch vụ trong điều kiện phù hợp.
- Nâng cấp NLTK lên 3.10.4 để khắc phục.
NLTK đến 3.10.3 chịu lỗ hổng tiêu thụ CPU, cần nâng cấp lên 3.10.4
GitHub ghi nhận CVE-2026-126303 trong NLTK phiên bản 3.10.3 trở xuống: parser có thể tiêu thụ CPU không giới hạn và gây từ chối dịch vụ khi xử lý đầu vào không tin cậy. Nâng cấp lên 3.10.4 để khắc phục.
Nội dung bài viết
GitHub Advisories công bố lỗ hổng CVE-2026-126303 trong NLTK, gói Python xử lý ngôn ngữ tự nhiên. Lỗi ảnh hưởng đến phương thức phân tích ngữ pháp theo từng bước và đã được vá trong phiên bản 3.10.4.
Tổng quan và thông tin kỹ thuật
SteppingRecursiveDescentParser phân tích ngữ pháp phi ngữ cảnh bằng cách duyệt từng bước. Lỗ hổng được định danh là CVE-2026-126303 và GHSA-8fx7-8jr8-84rv.
| Thông tin | Chi tiết |
|---|---|
| Sản phẩm | NLTK |
| CVE / GHSA | CVE-2026-126303 / GHSA-8fx7-8jr8-84rv |
| 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 |
Rủi ro thực tế phụ thuộc vào việc hệ thống có sử dụng SteppingRecursiveDescentParser hay không. Parser stepping chủ yếu phục vụ gỡ lỗi hoặc tương tác, nên phạm vi phơi nhiễm hẹp hơn việc chỉ cài NLTK.
Cơ chế và tác động
SteppingRecursiveDescentParser.parse() tự chạy vòng lặp step mà không đặt hoặc kiểm tra giới hạn thời gian. Với ngữ pháp mơ hồ hoặc tự nhúng do tác nhân kiểm soát và đầu vào ngắn, quá trình tìm kiếm top-down có thể duyệt không gian dẫn xuất tăng theo số Catalan, ghim một lõi CPU và không trả về.
Nếu dịch vụ dùng parser này để phân tích đầu vào không tin cậy, các yêu cầu lặp lại có thể làm cạn worker pool và gây từ chối dịch vụ. Tác động được mô tả là tiêu thụ tài nguyên và từ chối dịch vụ.
Kiểm tra hệ thống
Kiểm tra phiên bản NLTK đang cài trong môi trường Python:
python -m pip show nltkPhiên bản 3.10.4 đã vá; phiên bản 3.10.3 trở xuống cần nâng cấp.
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. Ưu tiên thực hiện trên các hệ thống dùng SteppingRecursiveDescentParser để xử lý ngữ pháp hoặc đầu vào do tác nhân bên ngoài kiểm soát.