CVE-2026-55772 Details
Description
CedarJava is an open source Java implementation of the Cedar policy language, used for fine-grained authorization decisions. In versions prior to 2.3.6, 3.4.1 and 4.9.0, under certain circumstances, improper input handling could allow Record-to-Entity type confusion across the Java-Rust FFI boundary. CedarJava sends authorization requests to the Rust cedar-policy evaluator as JSON. The JSON protocol reserves magic single-key object shapes (__entity and __extn) for entity references and extension values. When serializing a CedarMap, there is no validation preventing these reserved keys from being used. If an integrating service builds a CedarMap from caller-supplied key/value data (such as request headers, user-defined metadata, or resource tags), an actor who controls those keys could cause the Rust evaluator to interpret a record as an entity reference. This issue requires the integrating service to build a CedarMap where the an actor controls the keys, and a policy must reference that value in a when/unless clause. This vulnerability has been fixed in versions 2.3.6, 3.4.1, and 4.9.
A type confusion vulnerability has been identified in CedarJava, an open-source Java implementation of the Cedar policy language, used for fine-grained authorization decisions. This vulnerability exists in versions prior to 2.3.6, 3.4.1, and 4.9.0. Under certain conditions, improper input handling can lead to Record-to-Entity type confusion across the Java-Rust Foreign Function Interface (FFI) boundary. CedarJava transmits authorization requests to the Rust cedar-policy evaluator as JSON. The JSON protocol designates specific single-key object shapes (__entity and __extn) for entity references and extension values. When a CedarMap is serialized, there is no validation to prevent these reserved keys from being misused. If an integrating service creates a CedarMap from user-supplied key/value data, such as request headers or resource tags, an actor controlling those keys could manipulate the Rust evaluator into misinterpreting a record as an entity reference. This vulnerability requires the integrating service to construct a CedarMap with user-controlled keys, and for a policy to reference that value in a when/unless clause.
Users are advised to upgrade to CedarJava versions 2.3.6, 3.4.1, or 4.9 and above. It is also recommended to enable schema-based request validation to catch type mismatches and to ensure that user-controlled data does not include reserved keys (__entity or __extn) before creating CedarMap objects.
Metrics
CVSS 4.0 Severity and Vector Strings:
CVSS 3.x Severity and Vector Strings:
No data available for CVSS Version 2.0 on this CVE.
Volerion
Assessed Jul 13, 2026CISA-ADP
Assessed Jul 21, 2026References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.
| URL | Source(s) | Tag(s) |
|---|---|---|
| https://github.com/cedar-policy/cedar-java/security/advisories/GHSA-93g4-m6xv-cmvr | [email protected] | AdvisoryRemedyVendor |
Weakness Enumeration
| CWE-ID | CWE Name | Source |
|---|---|---|
| CWE-843 | Access of Resource Using Incompatible Type ('Type Confusion') | [email protected] |
Affected Products
| Product | Versions |
|---|---|
| CedarJava | < 4.9 |
CPE
Remediation
| |
Change History
2 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Jul 21, 2026 | CVE Modified | CISA-ADP |
| Jul 13, 2026 | New CVE Received | [email protected] |
Volerion