Skip to main content

CedarJava CVE-2026-55773

HIGH
Code Injection (CWE-94)
2026-06-19 https://github.com/cedar-policy/cedar-java GHSA-qmch-v2q9-wg4p
8.8
CVSS 3.1 · Vendor: https://github.com/cedar-policy/cedar-java
Share

Severity by source

Vendor (https://github.com/cedar-policy/cedar-java) PRIMARY
8.8 HIGH
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI
5.9 MEDIUM

Network reachable but exploitable only when integrator uses toCedarExpr() on user input (AC:H); requires app-level auth (PR:L); primary impact is authorization integrity, with limited confidentiality and no DoS.

3.1 AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:H/A:N
4.0 AV:N/AC:H/AT:P/PR:L/UI:N/VC:L/VI:H/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (https://github.com/cedar-policy/cedar-java).

CVSS VectorVendor: https://github.com/cedar-policy/cedar-java

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

3
Source Code Evidence Fetched
Jun 19, 2026 - 15:52 vuln.today
Analysis Generated
Jun 19, 2026 - 15:52 vuln.today
CVE Published
Jun 19, 2026 - 14:39 github-advisory
HIGH 8.8

DescriptionCVE.org

Summary

CedarJava is an open source Java implementation of the Cedar policy language, used for fine-grained authorization decisions. Under certain circumstances, improper input handling could allow policy injection.

Impact

Cedar-expression injection via unescaped toCedarExpr()

The toCedarExpr() method on Cedar Value types does not escape special characters (" or \) when converting values to Cedar source code. If an integrator uses toCedarExpr() to build policy text at runtime from user-controlled values, an actor could inject arbitrary Cedar expressions. For example, injecting || true into a permit ... when { ... } clause could make the permit unconditional, or injecting && false into a forbid clause could prevent the forbid from triggering.

This issue requires the integrator to use toCedarExpr() to build policy text at runtime from user-controlled input.

Impacted versions:

< 4.9

Patches

Addressed in CedarJava version 2.3.6, 3.4.1, and 4.9 and above. We recommend upgrading to the latest version and ensuring any forked or derivative code is patched to incorporate the new fixes.

Workarounds

Validate and sanitize all user-supplied input before passing it to toCedarExpr(). Avoid building policy text at runtime from user-controlled values.

References

If you have any questions or comments about this advisory, we ask that you contact us directly via email to [cedar-policy-security@lists.cncf.io](mailto:cedar-policy-security@lists.cncf.io). Please do not create a public GitHub issue.

AnalysisAI

Cedar policy injection in CedarJava (com.cedarpolicy:cedar-java) versions below 2.3.6, 3.4.1, and 4.9.0 allows attackers to alter authorization outcomes by smuggling Cedar expressions through unescaped string values. The flaw is in toCedarExpr() on Cedar Value types, which fails to escape quote and backslash characters when serializing user-controlled values into policy text. No public exploit identified at time of analysis, but the integrity impact is severe because injected fragments like '|| true' can neutralize permit/forbid logic in fine-grained authorization decisions.

Technical ContextAI

CedarJava is the official Java binding for AWS/CNCF's Cedar policy language, used by applications to make fine-grained authorization decisions (permit/forbid clauses with when-conditions). The root cause is CWE-94 (Improper Control of Generation of Code, i.e., code injection): the toCedarExpr() helper that converts Cedar Value objects back into Cedar source code does not escape the string-delimiter (") or escape character (\), so a value containing those characters breaks out of its intended string literal and is reparsed as Cedar syntax. Affected Maven coordinates per the GHSA are com.cedarpolicy:cedar-java in the 2.x, 3.x (>= 3.1.2), and 4.x lines, all below the fixed releases 2.3.6, 3.4.1, and 4.9.0.

RemediationAI

Vendor-released patches are available: upgrade com.cedarpolicy:cedar-java to 2.3.6, 3.4.1, or 4.9.0 (or later) depending on the release line you track, per GHSA-qmch-v2q9-wg4p (https://github.com/cedar-policy/cedar-java/security/advisories/GHSA-qmch-v2q9-wg4p). If immediate upgrade is not possible, stop building policy text at runtime from user-controlled values and instead use parameterized Cedar entity/value APIs or pre-authored policies referenced by ID; where toCedarExpr() must be used on untrusted input, apply strict allowlist validation that rejects the quote (") and backslash (\) characters and any other Cedar metacharacters before passing values in, accepting the side effect that legitimate inputs containing those characters will be refused. Audit forked or vendored copies of cedar-java for the same toCedarExpr() code path and port the upstream fix.

More in Java

View all
CVE-2012-4681 CRITICAL POC
9.8 Aug 28

Oracle Java SE 7 Update 6 and earlier contains multiple sandbox bypass vulnerabilities via the ClassFinder and forName m

CVE-2015-7450 CRITICAL POC
9.8 Jan 02

Remote code execution in IBM Sterling B2B Integrator, Sterling Integrator, and Tivoli Common Reporting allows unauthenti

CVE-2013-2465 CRITICAL POC
9.8 Jun 18

Java Runtime Environment sandbox bypass via incorrect image channel verification in 2D component allows remote unauthent

CVE-2011-3544 CRITICAL POC
9.8 Oct 19

Oracle Java SE JDK/JRE 7 and 6 Update 27 and earlier allows remote code execution with complete system compromise throug

CVE-2010-1871 HIGH POC
8.8 Aug 05

JBoss Seam 2 in Red Hat JBoss EAP 4.3.0 fails to sanitize JBoss Expression Language inputs, allowing remote attackers to

CVE-2012-1723 CRITICAL POC
9.8 Jun 16

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 update 4 and earlier, 6 up

CVE-2013-0422 CRITICAL POC
9.8 Jan 10

Multiple vulnerabilities in Oracle Java 7 before Update 11 allow remote attackers to execute arbitrary code by (1) using

CVE-2012-0507 CRITICAL POC
9.8 Jun 07

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 2 and earlier, 6 Up

CVE-2015-4852 CRITICAL POC
9.8 Nov 18

The WLS Security component in Oracle WebLogic Server 10.3.6.0, 12.1.2.0, 12.1.3.0, and 12.2.1.0 allows remote attackers

CVE-2012-5076 CRITICAL POC
9.8 Oct 16

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 7 and earlier allow

CVE-2017-3066 CRITICAL POC
9.8 Apr 27

Remote unauthenticated attackers can execute arbitrary code on Adobe ColdFusion servers through Java deserialization fla

CVE-2012-0391 CRITICAL POC
9.8 Jan 08

The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during

Share

CVE-2026-55773 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy