Bug 2564420

Summary: CVE-2026-120194 json-glib: json-glib: infinite loop in json_path_query() with negative JSONPath slice step [fedora-43]
Product: [Fedora] Fedora Reporter: Srikanth Balasubramanian <sbalasub>
Component: json-glibAssignee: Matthias Clasen <mclasen>
Status: NEW --- QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: high    
Version: 43CC: gnome-sig, mclasen
Target Milestone: ---Keywords: Security, SecurityTracking
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: {"flaws": ["149dfdb9-a480-4ee8-8967-a2e7b418dd41"]}
Fixed In Version: Doc Type: ---
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 2564418    

Description Srikanth Balasubramanian 2026-10-31 10:09:44 UTC
Disclaimer: Community trackers are created by Red Hat Product Security team on a best effort basis. Package maintainers are required to ascertain if the flaw indeed affects their package, before starting the update process.

A flaw was found in json-glib. The JSONPath slice evaluator in json_path_query() can enter a non-terminating loop when processing slice expressions that use a negative step (for example, $[:5:-1]). The evaluator iterates with a loop condition that assumes a positive step (i < end while adding step each iteration). When start is less than end and step is negative, the loop index moves away from the termination condition, causing the calling process to hang and resulting in a denial of service. Exploitation requires an application to evaluate an attacker-controlled or otherwise untrusted JSONPath expression using the vulnerable API.