CVE-2026-33947 in jqlang
Tóm tắt
Bởi VulDB • 24/06/2026
jq là một bộ xử lý JSON dòng lệnh. Trong các phiên bản 1.8.1 trở về trước, các hàm jv_setpath(), jv_getpath() và delpaths_sorted() trong src/jv_aux.c của jq sử dụng đệ quy không giới hạn, với độ sâu được kiểm soát bởi chiều dài của mảng đường dẫn do người gọi cung cấp, mà không có bất kỳ giới hạn nào về độ sâu. Kẻ tấn công có thể cung cấp một tài liệu JSON chứa một mảng phẳng gồm khoảng 65.000 số nguyên (~200 KB), khi được sử dụng làm đối số đường dẫn bởi bộ lọc jq đáng tin cậy, sẽ gây tràn ngăn xếp lệnh C và khiến quá trình bị sập với lỗi segmentation fault (SIGSEGV). Lỗ hổng này tồn tại vì giới hạn MAX_PARSING_DEPTH hiện có (10.000) chỉ bảo vệ trình phân tích cú pháp JSON mà không bảo vệ các thao tác đường dẫn thời gian chạy, nơi mảng có thể được xây dựng theo chương trình với độ dài tùy ý. Tác động là từ chối dịch vụ (sập không phục hồi), ảnh hưởng đến bất kỳ ứng dụng hoặc dịch vụ nào xử lý đầu vào JSON không đáng tin cậy thông qua các hàm tích hợp setpath, getpath hoặc delpaths của jq. Vấn đề này đã được khắc phục trong commit fb59f1491058d58bdc3e8dd28f1773d1ac690a1f.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.