CVE-2026-55773
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 2.3.6, 3.4.1 and 4.9.0, under certain circumstances, improper input handling could allow 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. This vulnerability has been fixed in versions 2.3.6, 3.4.1, and 4.9.0.
View original CVE JSON
{
"id": "CVE-2026-55773",
"sourceIdentifier": "[email protected]",
"published": "2026-07-13T20:16:48.580",
"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 2.3.6, 3.4.1 and 4.9.0, under certain circumstances, improper input handling could allow 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. This vulnerability has been fixed in versions 2.3.6, 3.4.1, and 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 2.3.6, 3.4.1 y 4.9.0, bajo ciertas circunstancias, un manejo inadecuado de la entrada podría permitir la inyección de expresiones Cedar a través de toCedarExpr() sin escape. El método toCedarExpr() en los tipos de valor Cedar no escapa caracteres especiales (” o \\) al convertir valores a código fuente Cedar. Si un integrador utiliza toCedarExpr() para construir texto de política en tiempo de ejecución a partir de valores controlados por el usuario, un actor podría inyectar expresiones Cedar arbitrarias. Por ejemplo, inyectar || true en una cláusula permit ... when { ... } podría hacer que el permiso sea incondicional, o inyectar && false en una cláusula forbid podría evitar que el forbid se active. Este problema requiere que el integrador utilice toCedarExpr() para construir texto de política en tiempo de ejecución a partir de entrada controlada por el usuario. Esta vulnerabilidad ha sido corregida en las versiones 2.3.6, 3.4.1 y 4.9.0."
}
],
"affected": [
{
"source": "[email protected]",
"affectedData": [
{
"vendor": "cedar-policy",
"product": "cedar-java",
"versions": [
{
"version": "< 2.3.6",
"status": "affected"
},
{
"version": ">= 3.1.2, < 3.4.1",
"status": "affected"
},
{
"version": ">= 4.0.0, < 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-15T14:18:12.881386Z",
"id": "CVE-2026-55773",
"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"
}
]
}
],
"references": [
{
"url": "https://github.com/cedar-policy/cedar-java/security/advisories/GHSA-qmch-v2q9-wg4p",
"source": "[email protected]"
}
]
}