Bug 2521208 (CVE-2026-77413)

Summary: CVE-2026-77413 jsonata: JSONata: Arbitrary Code Execution via crafted JSONata expressions
Product: [Other] Security Response Reporter: OSIDB Bzimport <bzimport>
Component: vulnerabilityAssignee: Product Security DevOps Team <prodsec-dev>
Status: NEW --- QA Contact:
Severity: urgent Docs Contact:
Priority: urgent    
Version: unspecifiedCC: abarbaro, alizardo, dhanak, drosa, dsimansk, gbenhaim, jchui, jhe, kingland, ktsao, mnovotny, nboldt, niyer, oaljalju, psrna, sausingh, twaugh
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: ---
Doc Text:
A flaw was found in JSONata. The `lookup` function, a component of the JSONata query and transformation language, did not properly validate object properties. This oversight allowed an attacker to craft malicious expressions that could access and manipulate sensitive inherited prototype members. Consequently, a remote attacker could exploit this vulnerability to execute arbitrary code with the privileges of the host process.
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:

Description OSIDB Bzimport 2026-08-21 21:02:26 UTC
JSONata is a JSON query and transformation language. Prior to 1.8.8 and 2.2.0, the src/functions.js lookup function lacked an Object.prototype.hasOwnProperty check and allowed crafted expressions to access inherited prototype members. An attacker able to supply an expression could use inherited prototype setters and getters, constructor access, valueOf, and process.getBuiltinModule to reach the child_process module and execute arbitrary code with the privileges of the host process. This issue is fixed in versions 1.8.8 and 2.2.0.