jq is a command-line JSON processor. In 1.8.1 and earlier, when decNumberFromString is given a number literal of INT_MAX-1 (2147483646) digits, the D2U() macro overflows during signed-int arithmetic. The wrapped negative value bypasses the heap-allocation size check, causes the function to use a 30-byte stack buffer, and then writes ≈715 million 16-bit units (≈1.4 GiB) at an offset 1.43 GiB below the stack frame. The written content is fully attacker-controlled (the parsed decimal digits, packed 3-per-unit).
CVE-2026-43894 is a buffer overflow vulnerability in jq versions 1.8.1 and earlier that occurs when processing extremely large number literals, allowing attackers to write arbitrary data to memory. The vulnerability affects the decNumberFromString function through integer overflow in the D2U() macro, potentially enabling remote code execution.
تحتوي هذه الثغرة على عيب في دالة decNumberFromString في jq حيث يتسبب تجاوز عدد صحيح في وحدة D2U() في تجاوز سعة المخزن المؤقت في الكومة. يمكن للمهاجمين استخدام حرفيات أرقام بطول INT_MAX-1 لكتابة ما يقرب من 1.4 جيجابايت من البيانات التي يتحكمون فيها بالكامل في موقع الذاكرة.
هذا الثغرة في jq الإصدارات 1.8.1 وأقدم تسمح بتجاوز سعة المخزن المؤقت عند معالجة أرقام حرفية كبيرة جداً. يمكن للمهاجمين استغلال تجاوز عدد صحيح في وحدة D2U() لكتابة بيانات تعسفية في الذاكرة وتنفيذ أكواد ضارة.
Update jq to version 1.8.2 or later immediately. Implement input validation to reject JSON payloads with excessively large number literals. Deploy network-level filtering to block suspicious JSON processing requests. Monitor systems for exploitation attempts targeting jq services.
قم بتحديث jq إلى الإصدار 1.8.2 أو أحدث فوراً. طبق التحقق من صحة المدخلات لرفض حمولات JSON التي تحتوي على أرقام حرفية كبيرة جداً. نشر تصفية على مستوى الشبكة لحجب طلبات معالجة JSON المريبة. راقب الأنظمة لمحاولات الاستغلال التي تستهدف خدمات jq.