製品・ソフトウェアに関する情報
jqlangのjqにおける整数オーバーフローの脆弱性
Title jqlangのjqにおける整数オーバーフローの脆弱性
Summary

jqはコマンドラインのJSONプロセッサです。バージョン1.8.1およびそれ以前において、decNumberFromStringにINT_MAX-1(2147483646)桁の数値リテラルが与えられると、D2U()マクロが符号付き整数演算中にオーバーフローします。オーバーフローして負の値となった結果、ヒープ割り当てサイズチェックを回避し、関数は30バイトのスタックバッファを使用します。その後、スタックフレームの1.43 GiB下のオフセットに約7億1500万個の16ビット単位(約1.4 GiB)を書き込みます。書き込まれる内容は完全に攻撃者が制御可能であり、解析された10進数の桁数が単位あたり3つで詰め込まれます。

Possible impacts 当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 また、当該ソフトウェアが扱う情報について、書き換えは発生しません。 さらに、当該ソフトウェアが完全に停止する可能性があります。 そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。 
Solution

正式な対策が公開されています。ベンダ情報を参照して適切な対策を実施してください。

Publication Date May 11, 2026, midnight
Registration Date May 15, 2026, 10:58 a.m.
Last Update May 15, 2026, 10:58 a.m.
CVSS3.0 : 警告
Score 5.5
Vector CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Affected System
jqlang
jq 1.8.1 およびそれ以前
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
ベンダー情報
Change Log
No Changed Details Date of change
1 [2026年05月15日]
  掲載
May 15, 2026, 10:58 a.m.

NVD Vulnerability Information
CVE-2026-43894
Summary

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).

Publication Date May 12, 2026, 3:16 a.m.
Registration Date May 12, 2026, 4:14 a.m.
Last Update May 14, 2026, 2:01 a.m.
Affected software configurations
Configuration1 or higher or less more than less than
cpe:2.3:a:jqlang:jq:*:*:*:*:*:*:*:* 1.8.1
Related information, measures and tools
Common Vulnerabilities List