jqlangのjqにおける複数の脆弱性
タイトル jqlangのjqにおける複数の脆弱性
概要

jqはコマンドラインのJSONプロセッサです。69785bf77f86e2ea1b4a20ca86775916889e91c9以降のコミットで、jqのsrc/builtin.cにある_strindices組み込み関数は、引数が文字列であることを検証せずにjv_string_indexes()に直接渡します。src/jv.cのjv_string_indexes()はassert()チェックのみに依存していますが、これは-DNDEBUGでコンパイルされたリリースビルドで除去されます。これにより、攻撃者は_strindices(0)のような入力で簡単にjqをクラッシュさせることができ、IEEE-754のビットパターンが選択したポインタに対応する数値を作成することで、制御されたポインタ参照と限定的なメモリ読み取り/プローブのプリミティブを実現できます。信頼されていないjqフィルターをリリースビルドで評価するすべての展開環境が脆弱になります。この問題はコミットfdf8ef0f0810e3d365cdd5160de43db46f57ed03で修正されました。

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

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

公表日 2026年4月13日0:00
登録日 2026年4月23日10:11
最終更新日 2026年4月23日10:11
CVSS3.0 : 警告
スコア 6.1
ベクター CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:H
影響を受けるシステム
jqlang
jq 2026-04-02 以上 2026-04-08 未満
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
ベンダー情報
その他
変更履歴
No 変更内容 変更日
1 [2026年04月23日]
  掲載
2026年4月23日10:11

NVD脆弱性情報
CVE-2026-39956
概要

jq is a command-line JSON processor. In commits after 69785bf77f86e2ea1b4a20ca86775916889e91c9, the _strindices builtin in jq's src/builtin.c passes its arguments directly to jv_string_indexes() without verifying they are strings, and jv_string_indexes() in src/jv.c relies solely on assert() checks that are stripped in release builds compiled with -DNDEBUG. This allows an attacker to crash jq trivially with input like _strindices(0), and by crafting a numeric value whose IEEE-754 bit pattern maps to a chosen pointer, achieve a controlled pointer dereference and limited memory read/probe primitive. Any deployment that evaluates untrusted jq filters against a release build is vulnerable. This issue has been patched in commit fdf8ef0f0810e3d365cdd5160de43db46f57ed03.

公表日 2026年4月14日8:16
登録日 2026年4月15日11:39
最終更新日 2026年4月22日8:54
影響を受けるソフトウェアの構成
構成1 以上 以下 より上 未満
cpe:2.3:a:jqlang:jq:*:*:*:*:*:*:*:* 2026-04-02 2026-04-08
関連情報、対策とツール
共通脆弱性一覧