CVE-2026-55771

CedarJava has policy injection, type confusion, and incorrect equality comparison vulnerabilities

Published Jul 13, 2026 CVSS 3.1 · 8.8 High EPSS < 1% KEV · Not listed
Description
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.

Analysis

AI-generated

Technical impact

CedarJava contains an inverted logic bug in the EntityIdentifier.equals() method, where null values are treated as equal and self‑comparisons return false. This flaw leads to incorrect identity checks that could cause application components to treat distinct entities as the same or fail to recognize identical entities. The core Cedar authorization engine, which is implemented in Rust, is not affected because JSON policy evaluation does not invoke this method. However, any integrator code that performs manual equality checks on EntityIdentifier objects risks introducing logic errors or incorrect audit trails697, CWE-843, and CWE-94 weaknesses.

Affected Systems

The affected product is cedar-policy's cedar-java library. Versions earlier than 4.9.0 are susceptible; version 4.9.0 and later contain the fix.

Risk and Exploitability

The CVSS score of 8.8 classifies this indicating significant potential for misuse in integration code that relies on EntityIdentifier comparisons. Because the bug is limited to local equality checks The EPSS score is < 1%, and the vulnerability is not listed in the CISA KEV catalog, suggesting no current widespread exploitation. The high severity and the potential for subtle identity confusion, however, warrant prompt attention.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Update the cedar-java dependency to version 4.9.0 or later.
  • Audit your application code for any direct usage of EntityIdentifier.equals() and refactor to use the corrected logic or a safe comparison helper.
  • Run integration tests that exercise policy evaluation and identity checks to confirm that the intended after the update.

Generated by OpenCVE AI on July 31, 2026 at 11:24 UTC.

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Github GHSA Github GHSA GHSA-4r9r-4425-74p7 Cedar-Java has policy injection, type confusion, and incorrect equality comparison vulnerabilities
History
Type Values Removed Values Added
First Time appeared Cedar-policy
Cedar-policy cedar-java
Vendors & Products Cedar-policy
Cedar-policy cedar-java
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}

Type Values Removed Values Added
Description 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.
Title CedarJava has policy injection, type confusion, and incorrect equality comparison vulnerabilities
Weaknesses CWE-697
CWE-843
CWE-94
References
Metrics cvssV3_1

{'score': 8.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'}

Weaknesses
  • CWE-697

    Incorrect Comparison

  • CWE-843

    Access of Resource Using Incompatible Type ('Type Confusion')

  • CWE-94

    Improper Control of Generation of Code ('Code Injection')

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Jul 14, 2026, 2:31 PM
Reserved
Jun 17, 2026, 2:34 PM
Status
Deferred
Published
Jul 13, 2026, 8:16 PM
Modified
Oct 24, 2026, 10:10 PM