---
title: "GNOME の JSON ライブラリ json-glib で、負の増分を持つ JSONPath のスライスにより無限ループ（CVE-2026-120194）: 修正版は未確認、CVSS 7.5（Red Hat）"
url: https://n-t-p.io/worldsecurity/articles/json-glib-jsonpath-negative-slice-step-infinite-loop-dos-cve-2026-120194
lang: ja
kind: 速報
category: 脆弱性・CVE
author: World Security 編集部
published: 2026年11月1日
updated: 2026年11月1日
severity: 中
cve: CVE-2026-120194
---

# GNOME の JSON ライブラリ json-glib で、負の増分を持つ JSONPath のスライスにより無限ループ（CVE-2026-120194）: 修正版は未確認、CVSS 7.5（Red Hat）

> **TL;DR:** GNOME の JSON ライブラリ json-glib で、`json_path_query()` が負の増分を持つ JSONPath のスライス式（例 `$[:5:-1]`）を評価すると無限ループになり、信頼できない式を評価するアプリケーションがサービス拒否になり得る（CVE-2026-120194、CWE-835）。上流では 1.10.8 で確認。修正版は未確認。CVSS v3.1 は 7.5（Red Hat が付与、NVD 自身の評価はなし）。EPSS は公開直後のため未算出、KEV なし。

**要点**
- json-glib の `json_path_query()` は、負の増分を持つスライス式（例 `$[:5:-1]`）で終了条件に達せず、CPU を使い続けて戻らない。信頼できない JSONPath 式を評価するアプリケーションがサービス拒否になり得る
- 上流の課題票では 1.10.8 で確認。影響はサービス拒否のみで、メモリ破壊・コード実行の主張はない。式を外部から受け取らない利用では影響は限られる（推定）
- CVSS v3.1 は 7.5（Red Hat の値、可用性のみ High）。NVD の状態は Awaiting Analysis。EPSS は公開直後のため未算出、KEV なし、悪用の報告は未確認
- 修正版は未確認。呼び出し側で負の増分を持つ式を拒否する、処理時間・CPU の上限を入れる、配布元の更新を待って適用する
- 修正版・影響版の範囲、ほかのディストリビューションでの扱い、悪用の有無は未確認

NVD は 2026-10-31（10:16 UTC）に、GNOME 系の JSON ライブラリ json-glib の CVE-2026-120194 を登録しました。説明によれば、`json_path_query()` が使う JSONPath のスライス評価処理が、**負の増分（step）を持つスライス式**を受け取ると無限ループに入ります。信頼できない JSONPath 式を評価するアプリケーションは、**応答しない状態（サービス拒否）**に追い込まれ得ます。弱点の分類は CWE-835（到達不能な終了条件を持つループ）です。登録元（CNA）は Red Hat で、NVD の状態は「Awaiting Analysis」です。

## 何が起きるか

- 上流の課題票によると、`$[:5:-1]` のような式は `json_path_compile()` で受け付けられます。評価側は増分が正であることを前提に「`i < end` の間は `i += step`」とループするため、増分が負だと `i` は 0, -1, -2 … と減り続け、終了条件が満たされません。
- 課題票には、バージョン 1.10.8 で `[0,1,2,3,4,5]` に対し `$[:5:-1]` を評価すると 3 秒後も戻らないこと、増分が正の対照式は直ちに戻ることが書かれています。ループ中は範囲外の配列要素を繰り返し参照し、GLib の警告（assertion の失敗）が出続けるとあります（上流の報告の記述であり、本記事では再現していません）。
- 課題票は、メモリ破壊やコード実行を主張していません。影響は CPU を使い続けるサービス拒否です。
- 上流には、増分が 0 の場合の検証が 2026 年 9 月に入っているものの、負の増分には対応していない、という記載があります。

## 数値と出典（2026-11-01 時点）

| 項目 | 内容 |
|---|---|
| CVE | CVE-2026-120194（CWE-835） |
| 影響 | json-glib の JSONPath スライス評価（`json_path_query()`）。上流で確認された版は 1.10.8。それ以外の版の範囲は NVD に記載なし |
| Red Hat の影響製品 | RHEL 7・8・9・10、OpenShift Container Platform 4（`json-glib` パッケージ。いずれも「affected」） |
| 修正 | 修正版は確認できていない（Red Hat・NVD に修正版の記載なし。上流の課題票も本記事の確認時点では修正の言及なし） |
| CVSS v3.1 | 7.5（High、CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H）。Red Hat（CNA）の値で、NVD 自身の評価はなし |
| 状態 | NVD の状態は「Awaiting Analysis」 |
| EPSS | 公開直後のため未算出（FIRST の API で該当なし、2026-11-01 確認） |
| KEV | 掲載なし（CISA の JSON で確認） |

## severity を medium とした理由

CVSS は 7.5 ですが、これは「JSONPath 式がネットワーク越しに攻撃者から渡される」と仮定した値です。json-glib はライブラリで、JSONPath 式を外部の入力から受け取って評価するアプリケーションだけが該当します。多くの利用では式はコードに固定されており、実際に影響を受ける範囲は限られると考えられます（本記事の推定）。影響も可用性のみで、機密性・完全性への影響は報告されていません。KEV に載らず、悪用の報告もありません。以上を踏まえ、high ではなく medium としました。

## 対応として考えられること

1. 自組織のアプリケーションやコンテナイメージが json-glib を使っているか、使っている場合は JSONPath 機能（`json_path_query()`）を呼んでいるかを確認します。
2. 呼んでいる場合、評価する式が利用者の入力に由来していないかを確認します。由来する場合は、スライス式の増分に負の値（`:-` を含む式）を受け付けない検証を、呼び出し側で入れる回避が考えられます（本記事の推定。公式な回避策は未確認）。
3. 配布元（ディストリビューション）の更新情報を確認し、修正が出たら適用します。コンテナを使っている場合は、ベースイメージの更新も確認します。
4. 式を外部から受けるサービスでは、処理時間の上限（タイムアウト）や CPU 使用量の制限を入れておくと、無限ループの影響を抑えられます。

## 未確認の点

- 修正版・修正コミットは確認できていません。1.10.8 以外の版が影響を受けるか、影響版の範囲は不明です。
- Red Hat 以外のディストリビューションでの扱いは確認していません。
- 実際の悪用、攻撃の再現は確認していません（上流の報告は 1.10.8 での再現の記述のみ）。
- CVSS は Red Hat（CNA）の値のみで、NVD 自身の評価は確認できていません。
- EPSS は公開直後のため未算出です。
- 日付は NVD の登録（2026-10-31 10:16 UTC）に基づきます。


## 出典
- [NVD CVE-2026-120194](https://nvd.nist.gov/vuln/detail/CVE-2026-120194) — NIST NVD
- [Red Hat CVE-2026-120194](https://access.redhat.com/security/cve/CVE-2026-120194) — Red Hat
- [Red Hat Bugzilla 2564418](https://bugzilla.redhat.com/show_bug.cgi?id=2564418) — Red Hat
- [json-glib 課題票 #96（json_path_query() infinite loop with negative JSONPath slice step）](https://gitlab.gnome.org/GNOME/json-glib/-/issues/96) — GNOME
- [FIRST EPSS CVE-2026-120194](https://api.first.org/data/v1/epss?cve=CVE-2026-120194) — FIRST
- [CISA KEV カタログ](https://www.cisa.gov/known-exploited-vulnerabilities-catalog) — CISA

---
出典: World Security（株式会社NTP） https://n-t-p.io/worldsecurity/articles/json-glib-jsonpath-negative-slice-step-infinite-loop-dos-cve-2026-120194