CVE-2026-120194: json-glib: infinite loop in JSONPath slice causes DoS

HIGH
Published October 31, 2026
CISO Take

A flaw in the json-glib library lets a JSONPath slice expression with a negative step send json_path_query() into an infinite loop, so any application that evaluates attacker-controlled JSONPath expressions can be hung remotely without authentication (CVSS 7.5, availability impact only). The library is a general-purpose GNOME dependency, but it ships inside 30+ Red Hat OpenShift AI (RHOAI) component images, including the dashboard, KServe controllers, MLflow, model registry, KubeRay and training operators, and the OpenShift CoreOS base images. That makes the potential blast radius broad: 695 downstream dependents and a package risk score of 81/100, with an OpenSSF Scorecard of 5.4/10. There is no EPSS score, no public exploit, no Nuclei template, no KEV listing and no SSVC decision, so there is no evidence of active exploitation and the trigger is trivial to build once the bug is understood. Exposure depends on whether a component actually passes untrusted input to json_path_query(), which is not confirmed for the RHOAI images. Track the Red Hat advisory for fixed image versions, patch affected RHOAI and CoreOS images when released, and until then prevent untrusted users from supplying JSONPath expressions and make sure liveness probes restart hung pods.

Sources:NVDOpenSSFATLASaccess.redhat.combugzilla.redhat.comgitlab.gnome.org

What is the risk?

Medium-to-high. The attack is network-reachable, needs low complexity, no privileges and no user interaction, but it only affects availability (A:H). No exploit, EPSS score or KEV listing exists, so near-term exploitation likelihood looks low. Real risk depends on whether a service exposes JSONPath evaluation to untrusted input. Services where that is not the case are practically unaffected, while those that do are trivially hangable by a single request.

How does the attack unfold?

Initial Access
Attacker reaches a network-exposed service that accepts user-supplied JSONPath expressions.
AML.T0049
Exploitation
Attacker submits a slice expression with a negative step, causing json_path_query() to loop forever.
Impact
Worker threads stay pegged and the service stops responding, disrupting model serving or registry operations.
AML.T0029

What systems are affected?

PackageEcosystemVulnerable RangePatched
MLflowpip—No patch
28.6KOpenSSF 5.4695 dependentsPushed 5d ago35% patched~68d to patchFull package profile →
MLflowpip—No patch
28.6KOpenSSF 5.4695 dependentsPushed 5d ago35% patched~68d to patchFull package profile →
MLflowpip—No patch
28.6KOpenSSF 5.4695 dependentsPushed 5d ago35% patched~68d to patchFull package profile →
json-glib——No patch
openshift/ose-rhel-coreos-8——No patch
openshift/ose-rhel-coreos-9——No patch
rhoai/odh-ai-gateway-operator-rhel9——No patch
rhoai/odh-core-bff-rhel9——No patch
rhoai/odh-dashboard-operator-rhel9——No patch
rhoai/odh-dashboard-rhel9——No patch
rhoai/odh-data-science-pipelines-operator-controller-rhel9——No patch
rhoai/odh-kf-notebook-controller-rhel9——No patch
rhoai/odh-kserve-controller-rhel9——No patch
rhoai/odh-kserve-llmisvc-controller-rhel9——No patch
rhoai/odh-kserve-module-operator-rhel9——No patch
rhoai/odh-kube-rbac-proxy-rhel9——No patch
rhoai/odh-kuberay-operator-controller-rhel9——No patch
rhoai/odh-llama-stack-k8s-operator-rhel9——No patch
rhoai/odh-maas-controller-rhel9——No patch
rhoai/odh-mod-arch-agent-ops-rhel9——No patch
rhoai/odh-mod-arch-automl-rhel9——No patch
rhoai/odh-mod-arch-autorag-rhel9——No patch
rhoai/odh-mod-arch-eval-hub-rhel9——No patch
rhoai/odh-mod-arch-gen-ai-rhel9——No patch
rhoai/odh-mod-arch-maas-rhel9——No patch
rhoai/odh-mod-arch-model-registry-rhel9——No patch
rhoai/odh-model-controller-rhel9——No patch
rhoai/odh-model-registry-operator-rhel9——No patch
rhoai/odh-model-serving-api-rhel9——No patch
rhoai/odh-notebook-controller-rhel9——No patch
rhoai/odh-ogx-k8s-operator-rhel9——No patch
rhoai/odh-ogx-module-operator-rhel9——No patch
rhoai/odh-training-operator-rhel9——No patch
rhoai/odh-trustyai-service-operator-rhel9——No patch
rhoai/odh-workbenches-operator-rhel9——No patch

How severe is it?

CVSS 3.1
7.5 / 10
EPSS
N/A
Exploitation Status
No known exploitation
Sophistication
Trivial

What is the attack surface?

AVACPRUISCIA
AVNetwork
ACLow
PRNone
UINone
SUnchanged
CNone
INone
AHigh

What should I do?

1 step
  1. 1) Monitor the Red Hat CVE page and Bugzilla 2564418 and apply the fixed RHOAI and OpenShift CoreOS images or json-glib package as soon as they are available; the upstream fix is tracked in GNOME json-glib issue 96. 2) Identify which workloads actually call json_path_query() with externally supplied expressions (SBOM scan for json-glib, code review of the call sites). 3) Where possible, reject or validate JSONPath expressions, in particular slices with negative steps, and do not accept user-defined paths from untrusted clients. 4) Configure liveness and readiness probes, CPU limits and request timeouts so hung pods are detected and restarted. 5) Alert on sustained 100% CPU on affected pods and on unresponsive endpoints.

How is it classified?

Which compliance frameworks are affected?

This CVE is relevant to:

EU AI Act
Art. 15-Accuracy, robustness and cybersecurity
ISO 42001
A.6.2.6-AI system operation and monitoring
NIST AI RMF
MANAGE 2.3-Response to unknown or newly identified risks

Frequently Asked Questions

What is CVE-2026-120194?

A flaw in the json-glib library lets a JSONPath slice expression with a negative step send json_path_query() into an infinite loop, so any application that evaluates attacker-controlled JSONPath expressions can be hung remotely without authentication (CVSS 7.5, availability impact only). The library is a general-purpose GNOME dependency, but it ships inside 30+ Red Hat OpenShift AI (RHOAI) component images, including the dashboard, KServe controllers, MLflow, model registry, KubeRay and training operators, and the OpenShift CoreOS base images. That makes the potential blast radius broad: 695 downstream dependents and a package risk score of 81/100, with an OpenSSF Scorecard of 5.4/10. There is no EPSS score, no public exploit, no Nuclei template, no KEV listing and no SSVC decision, so there is no evidence of active exploitation and the trigger is trivial to build once the bug is understood. Exposure depends on whether a component actually passes untrusted input to json_path_query(), which is not confirmed for the RHOAI images. Track the Red Hat advisory for fixed image versions, patch affected RHOAI and CoreOS images when released, and until then prevent untrusted users from supplying JSONPath expressions and make sure liveness probes restart hung pods.

Is CVE-2026-120194 actively exploited?

No confirmed active exploitation of CVE-2026-120194 has been reported, but organizations should still patch proactively.

How to fix CVE-2026-120194?

1) Monitor the Red Hat CVE page and Bugzilla 2564418 and apply the fixed RHOAI and OpenShift CoreOS images or json-glib package as soon as they are available; the upstream fix is tracked in GNOME json-glib issue 96. 2) Identify which workloads actually call json_path_query() with externally supplied expressions (SBOM scan for json-glib, code review of the call sites). 3) Where possible, reject or validate JSONPath expressions, in particular slices with negative steps, and do not accept user-defined paths from untrusted clients. 4) Configure liveness and readiness probes, CPU limits and request timeouts so hung pods are detected and restarted. 5) Alert on sustained 100% CPU on affected pods and on unresponsive endpoints.

What systems are affected by CVE-2026-120194?

This vulnerability affects the following AI/ML architecture patterns: model serving, MLOps platforms, Kubernetes operators for ML, experiment tracking, model registry, notebook and workbench environments, training pipelines.

What is the CVSS score for CVE-2026-120194?

CVE-2026-120194 has a CVSS v3.1 base score of 7.5 (HIGH).

What is the AI security impact?

Affected AI Architectures

model servingMLOps platformsKubernetes operators for MLexperiment trackingmodel registrynotebook and workbench environmentstraining pipelines

MITRE ATLAS Techniques

AML.T0029Denial of AI Service
AML.T0049Exploit Public-Facing Application

Compliance Controls Affected

EU AI Act: Art. 15
ISO 42001: A.6.2.6
NIST AI RMF: MANAGE 2.3

What are the technical details?

Original Advisory

A flaw was found in json-glib. The JSONPath slice evaluator used by json_path_query() can enter an infinite loop when given a slice expression with a negative step. An application that evaluates attacker-controlled JSONPath expressions can be forced into a hang, leading to a denial of service.

Exploitation Scenario

An attacker finds an endpoint in an ML platform component that accepts a user-supplied JSONPath filter, for example to query model registry metadata or experiment results. They send a request containing a slice expression with a negative step such as $[::-1] variant that triggers the non-terminating loop. The worker thread spins forever at full CPU. Repeating the request across threads exhausts the service's worker pool, making the model registry or serving control plane unresponsive until the pods are restarted.

Weaknesses (CWE)

CWE-835 — Loop with Unreachable Exit Condition: The product contains an iteration or loop with an exit condition that cannot be reached, i.e., an infinite loop.

Source: MITRE CWE corpus.

CVSS Vector

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Timeline

Published
October 31, 2026
Last Modified
November 6, 2026
First Seen
November 6, 2026

Related Vulnerabilities