Skip to main content

CedarJava CVE-2026-55771

| EUVDEUVD-2026-43524 HIGH
Code Injection (CWE-94)
2026-07-13 GitHub_M GHSA-4r9r-4425-74p7
8.8
CVSS 3.1 · Vendor: GitHub_M
Share

Severity by source

Vendor (GitHub_M) PRIMARY
8.8 HIGH
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI
4.8 MEDIUM

Impact only manifests in non-default integrator code that uses equals() for trust decisions (AC:H); it yields incorrect comparisons affecting integrity with minor confidentiality, no availability or RCE.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

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

Lifecycle Timeline

3
Patch available
Jul 28, 2026 - 16:02 EUVD
Analysis Generated
Jul 13, 2026 - 20:01 vuln.today
CVE Published
Jul 13, 2026 - 19:28 cve.org
HIGH 8.8

DescriptionCVE.org

CedarJava is an open source Java implementation of the Cedar policy language, used for fine-grained authorization decisions. In versions prior to 4.9.0, the EntityIdentifier.equals() has inverted null/self branches which could lead to incorrect equality comparisons. The EntityIdentifier.equals() method has inverted logic for null and self-reference checks, returning true for null comparisons and false for self-comparisons. This does not affect Cedar authorization decisions (computed in Rust from JSON), but could affect integrators who perform their own equality checks on entity identifiers. This issue has been fixed in version 4.9.0.

AnalysisAI

Incorrect equality comparison in CedarJava (cedar-java) versions before 4.9.0 causes EntityIdentifier.equals() to return true when comparing against null and false when comparing an object to itself, due to inverted null/self-reference branches. Cedar's actual authorization decisions are unaffected because they are computed in Rust from JSON, but integrators who call equals() on entity identifiers in their own Java logic may make incorrect trust or access decisions. No public exploit identified at time of analysis; the issue is fixed in 4.9.0.

Technical ContextAI

CedarJava is the Java binding for Cedar, an open-source authorization policy language (developed by AWS/cedar-policy) used for fine-grained access control; the CPE cpe:2.3:a:cedar-policy:cedar-java:*:* confirms the affected component is the cedar-java library itself. The defect lives in the EntityIdentifier class's overridden equals(Object) method, where the standard Java contract (an object equals itself, and never equals null) is inverted - the null-check and self-reference branches are swapped, so o this returns false and o null returns true. Although the input labels this CWE-94 (Code Injection), that classification is inconsistent with the described behavior; the true root cause is an incorrect equality/comparison logic error (closer to CWE-697 'Incorrect Comparison' or CWE-595 'Comparison of Object References Instead of Object Contents'). Because Cedar's policy evaluation happens in a Rust engine consuming JSON, the flawed Java equals() only matters in code paths where a Java integrator directly compares EntityIdentifier objects.

RemediationAI

Upgrade cedar-java to version 4.9.0 or later, which corrects the inverted null/self branches in EntityIdentifier.equals() (Vendor-released patch: 4.9.0); this is the primary and definitive fix per GitHub Security Advisory GHSA-4r9r-4425-74p7 (https://github.com/cedar-policy/cedar-java/security/advisories/GHSA-4r9r-4425-74p7). If an immediate upgrade is not possible, integrators should audit their code for any use of EntityIdentifier.equals() (including implicit uses in collections such as HashSet/HashMap keys, contains(), or list comparisons) and avoid relying on it for security-relevant comparisons - instead compare the underlying identifier string values directly, which sidesteps the inverted logic. The trade-off of that workaround is added application-side code and the need to ensure no third-party dependency internally calls the flawed equals(); it is a stopgap only, so schedule the 4.9.0 upgrade as the durable remediation.

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-55771 vulnerability details – vuln.today

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