CVE-2026-55771
Full vulnerability record from the local CVENow database.
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.
Severity
HIGH
CVSS score
8.8
(v3.1)
Vulnerability status
Deferred
Source identifier
Published
2026-07-13 20:16:48.453000
Last modified
2026-10-24 22:10:00.210000
View original CVE JSON
{
"id": "CVE-2026-55771",
"sourceIdentifier": "[email protected]",
"published": "2026-07-13T20:16:48.453",
"lastModified": "2026-10-24T22:10:00.210",
"vulnStatus": "Deferred",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "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."
},
{
"lang": "es",
"value": "CedarJava es una implementación Java de código abierto del lenguaje de políticas Cedar, utilizada para decisiones de autorización de grano fino. En versiones anteriores a la 4.9.0, el método EntityIdentifier.equals() tiene ramas nulas/de autorreferencia invertidas, lo que podría llevar a comparaciones de igualdad incorrectas. El método EntityIdentifier.equals() tiene lógica invertida para las comprobaciones de nulo y de autorreferencia, devolviendo verdadero para comparaciones nulas y falso para comparaciones de autorreferencia. Esto no afecta las decisiones de autorización de Cedar (calculadas en Rust a partir de JSON), pero podría afectar a los integradores que realizan sus propias comprobaciones de igualdad en los identificadores de entidad. Este problema ha sido solucionado en la versión 4.9.0."
}
],
"affected": [
{
"source": "[email protected]",
"affectedData": [
{
"vendor": "cedar-policy",
"product": "cedar-java",
"versions": [
{
"version": "< 4.9.0",
"status": "affected"
}
]
}
]
}
],
"metrics": {
"cvssMetricV31": [
{
"source": "[email protected]",
"type": "Secondary",
"cvssData": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
"baseScore": 8.8,
"baseSeverity": "HIGH",
"attackVector": "NETWORK",
"attackComplexity": "LOW",
"privilegesRequired": "LOW",
"userInteraction": "NONE",
"scope": "UNCHANGED",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"availabilityImpact": "HIGH"
},
"exploitabilityScore": 2.8,
"impactScore": 5.9
}
],
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"timestamp": "2026-07-14T14:23:44.626378Z",
"id": "CVE-2026-55771",
"options": [
{
"exploitation": "none"
},
{
"automatable": "no"
},
{
"technicalImpact": "total"
}
],
"role": "CISA Coordinator",
"version": "2.0.3"
}
}
]
},
"weaknesses": [
{
"source": "[email protected]",
"type": "Secondary",
"description": [
{
"lang": "en",
"value": "CWE-94"
},
{
"lang": "en",
"value": "CWE-697"
},
{
"lang": "en",
"value": "CWE-843"
}
]
}
],
"references": [
{
"url": "https://github.com/cedar-policy/cedar-java/security/advisories/GHSA-4r9r-4425-74p7",
"source": "[email protected]"
}
]
}