Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach app endpoint accepting JSONPath
-
ExploitSubmit slice expression with negative step
-
Executionjson_path_query slice evaluator loops infinitely
-
ImpactCPU/thread hangs, service denied
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Loop termination conditions
MITRE ATT&CK
1 technique across 1 tactic: Impact The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | The exploitable condition is explicit in the description: the embedding application must evaluate ATTACKER-CONTROLLED JSONPath expressions via json_path_query(), and the attacker must supply a slice expression containing a NEGATIVE STEP to trigger the infinite loop. The key limiting factor is that applications using only fixed, developer-authored, or otherwise trusted JSONPath expressions are not exposed, because the attacker never controls the query string. Impact is confined to availability (a hang/CPU exhaustion); there is no data disclosure or modification. Authentication is not confirmed from the data as a requirement - the CVSS vector lists PR:N, but whether a real attacker is unauthenticated depends on how the embedding application exposes JSONPath input. |
| Impact | The input signals are consistent in direction but modest in urgency. CVSS 3.1 scores this 7.5 (High) driven entirely by availability impact (A:H) with no confidentiality or integrity effect, over a network vector requiring no privileges or user interaction (AV:N/AC:L/PR:N/UI:N). The vuln.today decision label is 'this_week' rather than act_now/emergency, consistent with a pure denial-of-service bug. No EPSS score, no CISA KEV listing, and no proof-of-concept exploit code are present in the supplied data, so this is not confirmed as actively exploited. The headline CVSS network/unauthenticated rating is real for the library flaw itself, but it materially overstates practical risk for most deployments: exploitation requires the embedding application to pass ATTACKER-CONTROLLED JSONPath expressions to json_path_query(), which is an uncommon design. Where that condition is NOT met (the typical case, where JSONPath queries are hard-coded or trusted), the network vector does not actually apply to an external attacker. Net: a legitimate High-severity availability bug worth patching on a normal cadence, but not a widespread drop-everything emergency absent evidence of exploitation. |
| Exploit ScenarioDerived | An application exposes a feature that lets users supply JSONPath expressions (e.g., a query/filter API backed by json-glib) and evaluates them with json_path_query(). An attacker submits a slice expression using a negative step, causing the slice evaluator to enter an infinite loop that pins a CPU and hangs the worker/thread, denying service to legitimate users. No public exploit code is identified in the provided sources; the GNOME GitLab issue and Red Hat Bugzilla document the flaw but are not verified working exploits. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 31, 2026
Infinite loop in json-glib's JSONPath slice evaluator lets an attacker hang any application that passes untrusted JSONPath strings to json_path_query(). A slice expression containing a negative step drives the evaluator into a non-terminating loop, spinning CPU and stalling the calling thread, so impact is limited to availability (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H, 7.5) with no disclosure or modification. The prerequisite is narrow but real: the embedding application must evaluate attacker-controlled JSONPath; code that only runs developer-authored queries is not exposed. No public exploit code was identified at time of analysis and the issue is not in CISA KEV, but the underlying flaw is trivially reachable by a single crafted query string and has been triaged for remediation this week.
RemediationAI
No vendor-released fixed version is identified in the available data; track the upstream GNOME issue (https://gitlab.gnome.org/GNOME/json-glib/-/issues/96), the Red Hat advisory (https://access.redhat.com/security/cve/CVE-2026-120194) and Bugzilla 2564418 for the patched release and per-distribution errata before upgrading. Until then, the decisive control is to stop untrusted strings from reaching json_path_query(): if an application or API accepts JSONPath from a client, remove or lock down that input, or validate expressions and reject any slice with a negative step - the trade-off is that legitimate descending-order slice semantics stop working. Where user-supplied expressions are a required feature, evaluate them in a worker thread or subprocess under a hard timeout and terminate on overrun, accepting the added complexity and per-query resource overhead. Restricting the endpoint that exposes JSONPath to trusted networks or authenticated callers reduces reachability but does not fix the loop itself. Deployments that only ever run developer-authored queries need no immediate workaround, though they should still pick up the library update once it ships.
Affected ProductsAI
All releases of json-glib that implement JSONPath slice evaluation with negative steps through json_path_query() are in scope; no version boundary or fixed release is stated in the available references, so the exact first-affected and first-patched versions are unconfirmed from this data. Downstream exposure follows the library: GNOME stack components and any third-party application, service, or language binding that links json-glib and accepts JSONPath expressions from untrusted input. Distributions tracking the package should consult the Red Hat advisory (https://access.redhat.com/security/cve/CVE-2026-120194) and Bugzilla record (https://bugzilla.redhat.com/show_bug.cgi?id=2564418) for per-product version mapping, and the upstream GNOME issue (https://gitlab.gnome.org/GNOME/json-glib/-/issues/96) for the maintainers' analysis and any committed fix.
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
json-glib is the C library built on GLib/GObject that GNOME components and many other projects use to parse, generate and query JSON. Its JSONPath support exposes json_path_query(), which parses an expression and walks the document tree; slice expressions of the form [start:end:step] are the part at fault. Supporting a negative step requires iterating indices in reverse, and the loop control in that reverse-traversal path never reaches its termination condition, producing the unbounded loop classified as CWE-835 (Loop with Unreachable Exit Condition). Because the defect is in query evaluation rather than document parsing, a small expression is enough to trigger it - the attacker does not need control of the JSON payload, only of the query string. Triggering therefore depends entirely on how the host application exposes JSONPath input: an application that accepts the expression from a remote client inherits the network-reachable, unauthenticated profile in the assessed CVSS vector (PR:N), while one that evaluates only trusted, developer-supplied expressions is not reachable. The failure mode is a hang rather than memory corruption or a crash, so affected services typically exhibit a stuck thread or pegged core until restarted.
Know when Gnome gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Infinite-loop hang yields availability-only impact (A:H, C/I:N); remotely reachable with low complexity and no privileges when an app evaluates attacker-supplied JSONPath, so AV:N/AC:L/PR:N.
Primary rating from NVD.
CVSS VectorNVD
DescriptionNVD
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.
Executive ViewAI
A high-severity vulnerability in json-glib's JSONPath slice evaluator allows an attacker to cause a denial-of-service by submitting a crafted query that induces an infinite loop. This affects any application that evaluates untrusted JSONPath input, potentially leading to service unavailability and operational disruption. Leadership should prioritize remediation for externally-facing services that process user-supplied JSONPath.
No vendor-released patch identified at time of analysis. Interim mitigations include validating and sanitizing JSONPath input to block malicious patterns, enforcing query timeouts, and restricting exposure of JSONPath evaluation to trusted users only.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
backend/comics/comics-document.c (aka the comic book backend) in GNOME Evince before 3.24.1 allows remote attackers to e
Network Manager VPNC plugin (aka networkmanager-vpnc) before version 1.2.6 is vulnerable to a privilege escalation attac
gio/gsocks4aproxy.c in GNOME GLib before 2.82.1 has an off-by-one error and resultant buffer overflow because SOCKS4_CON
Multiple integer overflows in the (1) vnc_connection_server_message and (2) vnc_color_map_set functions in gtk-vnc befor
GNOME OCRFeeder before 0.8.4 allows OS command injection via shell metacharacters in a PDF or image filename. Rated crit
libsoup from versions 2.65.1 until 2.68.1 have a heap-based buffer over-read because soup_ntlm_parse_challenge() in soup
Gnome Pango 1.42 and later is affected by: Buffer Overflow. Rated critical severity (CVSS 9.8), this vulnerability is re
In GNOME GLib 2.56.1, g_markup_parse_context_end_parse() in gmarkup.c has a NULL pointer dereference. Rated critical sev
Heap-based buffer overflow in GLib's g_escape_uri_string() function allows local attackers to achieve high-integrity and
An exploitable heap overflow vulnerability exists in the gdk_pixbuf__jpeg_image_load_increment functionality of Gdk-Pixb
Eye of GNOME (aka eog) 3.16.5, 3.17.x, 3.18.x before 3.18.3, 3.19.x, and 3.20.x before 3.20.4, when used with glib befor
An exploitable integer overflow vulnerability exists in the tiff_image_parse functionality of Gdk-Pixbuf 2.36.6 when com
EUVD-2026-114712
GHSA-pc2w-7g9p-pr43
NVD
CVE.org
VulDB
Exploit-DB