| タイトル | jqlangのjqにおける整数オーバーフローの脆弱性 |
|---|---|
| 概要 | jqはコマンドラインのJSONプロセッサです。バージョン1.8.1およびそれ以前において、decNumberFromStringにINT_MAX-1(2147483646)桁の数値リテラルが与えられると、D2U()マクロが符号付き整数演算中にオーバーフローします。オーバーフローして負の値となった結果、ヒープ割り当てサイズチェックを回避し、関数は30バイトのスタックバッファを使用します。その後、スタックフレームの1.43 GiB下のオフセットに約7億1500万個の16ビット単位(約1.4 GiB)を書き込みます。書き込まれる内容は完全に攻撃者が制御可能であり、解析された10進数の桁数が単位あたり3つで詰め込まれます。 |
| 想定される影響 | 当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 また、当該ソフトウェアが扱う情報について、書き換えは発生しません。 さらに、当該ソフトウェアが完全に停止する可能性があります。 そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。 |
| 対策 | 正式な対策が公開されています。ベンダ情報を参照して適切な対策を実施してください。 |
| 公表日 | 2026年5月11日0:00 |
| 登録日 | 2026年5月15日10:58 |
| 最終更新日 | 2026年5月15日10:58 |
| CVSS3.0 : 警告 | |
| スコア | 5.5 |
|---|---|
| ベクター | CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H |
| jqlang |
| jq 1.8.1 およびそれ以前 |
| No | 変更内容 | 変更日 |
|---|---|---|
| 1 | [2026年05月15日] 掲載 |
2026年5月15日10:58 |
| 概要 | 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). |
|---|---|
| 公表日 | 2026年5月12日3:16 |
| 登録日 | 2026年5月12日4:14 |
| 最終更新日 | 2026年5月14日2:01 |
| 構成1 | 以上 | 以下 | より上 | 未満 | |
| cpe:2.3:a:jqlang:jq:*:*:*:*:*:*:*:* | 1.8.1 | ||||