CVE-2026-55773: CWE-94: Improper Control of Generation of Code ('Code Injection') in cedar-policy cedar-java
CVE-2026-55773 is a high-severity code injection vulnerability in cedar-java, an open source Java implementation of the Cedar policy language. Versions prior to 2.3.6, 3.4.1, and 4.9.0 improperly handle special characters in the toCedarExpr() method, allowing injection of arbitrary Cedar expressions when user-controlled input is used to build policy text at runtime. This can lead to unauthorized policy modifications such as unconditional permits or disabled forbids. The vulnerability has been fixed in versions 2.3.6, 3.4.1, and 4.9.0.
AI Analysis
Technical Summary
The vulnerability arises because the toCedarExpr() method on Cedar Value types does not escape special characters (" or \\) when converting values to Cedar source code. If an integrator uses this method to build policy text dynamically from user-controlled input, an attacker can inject arbitrary Cedar expressions. For example, injecting '|| true' into a permit clause can make the permit unconditional, or injecting '&& false' into a forbid clause can disable the forbid condition. This improper control of code generation (CWE-94) can lead to complete compromise of authorization decisions. The issue affects cedar-java versions prior to 2.3.6, versions from 3.0.0 up to but not including 3.4.1, and versions from 4.0.0 up to but not including 4.9.0. The vulnerability has been addressed in versions 2.3.6, 3.4.1, and 4.9.0.
Potential Impact
Successful exploitation allows an attacker to inject arbitrary Cedar expressions into policy text, potentially resulting in unauthorized access by making permit clauses unconditional or disabling forbid clauses. This compromises the integrity and correctness of authorization decisions, leading to high confidentiality, integrity, and availability impacts as indicated by the CVSS score of 8.8.
Mitigation Recommendations
A fix is available in cedar-java versions 2.3.6, 3.4.1, and 4.9.0. Users and integrators should upgrade to one of these versions or later to remediate this vulnerability. Additionally, integrators should avoid using toCedarExpr() to build policy text at runtime from user-controlled input or ensure proper escaping of special characters if dynamic policy generation is necessary.
CVE-2026-55773: CWE-94: Improper Control of Generation of Code ('Code Injection') in cedar-policy cedar-java
Description
CVE-2026-55773 is a high-severity code injection vulnerability in cedar-java, an open source Java implementation of the Cedar policy language. Versions prior to 2.3.6, 3.4.1, and 4.9.0 improperly handle special characters in the toCedarExpr() method, allowing injection of arbitrary Cedar expressions when user-controlled input is used to build policy text at runtime. This can lead to unauthorized policy modifications such as unconditional permits or disabled forbids. The vulnerability has been fixed in versions 2.3.6, 3.4.1, and 4.9.0.
CVSS v3.1
Score 8.8high
Affected software
pkg:maven/io.cedar-policy/cedar-javaRun on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
Weaknesses
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The vulnerability arises because the toCedarExpr() method on Cedar Value types does not escape special characters (" or \\) when converting values to Cedar source code. If an integrator uses this method to build policy text dynamically from user-controlled input, an attacker can inject arbitrary Cedar expressions. For example, injecting '|| true' into a permit clause can make the permit unconditional, or injecting '&& false' into a forbid clause can disable the forbid condition. This improper control of code generation (CWE-94) can lead to complete compromise of authorization decisions. The issue affects cedar-java versions prior to 2.3.6, versions from 3.0.0 up to but not including 3.4.1, and versions from 4.0.0 up to but not including 4.9.0. The vulnerability has been addressed in versions 2.3.6, 3.4.1, and 4.9.0.
Potential Impact
Successful exploitation allows an attacker to inject arbitrary Cedar expressions into policy text, potentially resulting in unauthorized access by making permit clauses unconditional or disabling forbid clauses. This compromises the integrity and correctness of authorization decisions, leading to high confidentiality, integrity, and availability impacts as indicated by the CVSS score of 8.8.
Mitigation Recommendations
A fix is available in cedar-java versions 2.3.6, 3.4.1, and 4.9.0. Users and integrators should upgrade to one of these versions or later to remediate this vulnerability. Additionally, integrators should avoid using toCedarExpr() to build policy text at runtime from user-controlled input or ensure proper escaping of special characters if dynamic policy generation is necessary.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- GitHub_M
- Date Reserved
- 2026-06-17T14:34:51.881Z
- Cvss Version
- 3.1
- State
- PUBLISHED
- Remediation Level
- null
Threat ID: 6a553d7068715ace43bb8a72
Added to database: 07/13/2026, 19:33:04 UTC
Last enriched: 07/13/2026, 19:47:37 UTC
Last updated: 07/13/2026, 21:36:38 UTC
Views: 7
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
External Links
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.