jqlangのjqにおける境界外読み取りに関する脆弱性
タイトル jqlangのjqにおける境界外読み取りに関する脆弱性
概要

jqはコマンドラインのJSONプロセッサです。2f09060afab23fe9390cce7cb860b10416e1bf5fのコミット以前では、libjqのjv_parse_sized() APIは明示的な長さパラメータを持つカウントされたバッファを受け入れていましたが、そのエラーハンドリングパスではjv_string_fmt()内で%sを使用して入力バッファをフォーマットしており、呼び出し元が指定した長さを考慮せず、NUL終端子が見つかるまで読み取っていました。これは、NUL終端されていない不正なJSONが渡された場合に、エラー構築ロジックがバッファの終端を越えた範囲外読み取りを行ってしまうことを意味します。この脆弱性は、非信頼入力を用いてjv_parse_sized()を呼び出すすべてのlibjq利用者が到達可能であり、メモリの配置によってはメモリ情報漏洩やプロセス終了を引き起こす可能性があります。この問題はコミット2f09060afab23fe9390cce7cb860b10416e1bf5fで修正されました。

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

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

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

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

jq is a command-line JSON processor. In commits before 2f09060afab23fe9390cce7cb860b10416e1bf5f, the jv_parse_sized() API in libjq accepts a counted buffer with an explicit length parameter, but its error-handling path formats the input buffer using %s in jv_string_fmt(), which reads until a NUL terminator is found rather than respecting the caller-supplied length. This means that when malformed JSON is passed in a non-NUL-terminated buffer, the error construction logic performs an out-of-bounds read past the end of the buffer. The vulnerability is reachable by any libjq consumer calling jv_parse_sized() with untrusted input, and depending on memory layout, can result in memory disclosure or process termination. The issue has been patched in commit 2f09060afab23fe9390cce7cb860b10416e1bf5f.

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