Search
Find a vulnerability
Search criteria
2 vulnerabilities found for ognl by orphan-oss
CVE-2026-113730 (GCVE-0-2026-113730)
Vulnerability from nvd – Published: 2026-10-20 21:24 – Updated: 2026-10-21 15:51
VLAI
EPSS
VEX
Title
OGNL stricter-invocation block list bypass via java.lang.reflect reflection proxies
Summary
OGNL is an Object Graph Navigation Library for Java. Prior to 3.4.13, the optional stricter-invocation mode in OgnlRuntime.invokeMethod checks the declaring class of the method that OGNL invokes but does not block java.lang.reflect.Method, java.lang.reflect.Constructor, or java.lang.reflect.Field. An attacker-controlled expression can invoke one of these reflection objects as a proxy for a method on a blocked class, causing the real operation to execute inside JDK reflection without passing through the stricter-invocation check again. Exploitation requires an application to evaluate untrusted OGNL expressions, use the default or an equivalently permissive MemberAccess that permits reflection, and rely on stricter invocation as a sandbox. Applications using a restrictive MemberAccess, including Apache Struts with SecurityMemberAccess, are not affected by this bypass. This issue is fixed in 3.4.13.
Severity
5.6 (Medium)
SSVC
Exploitation: none
Automatable: no
Technical Impact: partial
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-10-21 14:24 UTC
CWE
- CWE-693 - Protection Mechanism Failure
Assigner
References
4 references
| URL | Tags |
|---|---|
| https://github.com/orphan-oss/ognl/security/advis… | x_refsource_CONFIRM |
| https://github.com/orphan-oss/ognl/commit/16396fa… | x_refsource_MISC |
| https://github.com/orphan-oss/ognl/commit/f4c17f7… | x_refsource_MISC |
| https://github.com/orphan-oss/ognl/releases/tag/O… | x_refsource_MISC |
Impacted products
1 product
| Vendor | Product | Version | |
|---|---|---|---|
| orphan-oss | ognl |
Affected:
< 3.4.13
|
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-113730",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-10-21T14:24:48.869617Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-10-21T15:51:56.220Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"product": "ognl",
"vendor": "orphan-oss",
"versions": [
{
"status": "affected",
"version": "\u003c 3.4.13"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "OGNL is an Object Graph Navigation Library for Java. Prior to 3.4.13, the optional stricter-invocation mode in OgnlRuntime.invokeMethod checks the declaring class of the method that OGNL invokes but does not block java.lang.reflect.Method, java.lang.reflect.Constructor, or java.lang.reflect.Field. An attacker-controlled expression can invoke one of these reflection objects as a proxy for a method on a blocked class, causing the real operation to execute inside JDK reflection without passing through the stricter-invocation check again. Exploitation requires an application to evaluate untrusted OGNL expressions, use the default or an equivalently permissive MemberAccess that permits reflection, and rely on stricter invocation as a sandbox. Applications using a restrictive MemberAccess, including Apache Struts with SecurityMemberAccess, are not affected by this bypass. This issue is fixed in 3.4.13."
}
],
"metrics": [
{
"cvssV3_1": {
"attackComplexity": "HIGH",
"attackVector": "NETWORK",
"availabilityImpact": "LOW",
"baseScore": 5.6,
"baseSeverity": "MEDIUM",
"confidentialityImpact": "LOW",
"integrityImpact": "LOW",
"privilegesRequired": "NONE",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L",
"version": "3.1"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-693",
"description": "CWE-693: Protection Mechanism Failure",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-10-20T21:24:24.093Z",
"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"shortName": "GitHub_M"
},
"references": [
{
"name": "https://github.com/orphan-oss/ognl/security/advisories/GHSA-crwc-vw2r-qr6m",
"tags": [
"x_refsource_CONFIRM"
],
"url": "https://github.com/orphan-oss/ognl/security/advisories/GHSA-crwc-vw2r-qr6m"
},
{
"name": "https://github.com/orphan-oss/ognl/commit/16396fa4b560221294c2ab9ca04b76b161115e7d",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/orphan-oss/ognl/commit/16396fa4b560221294c2ab9ca04b76b161115e7d"
},
{
"name": "https://github.com/orphan-oss/ognl/commit/f4c17f794754d516ea799c36ed8524d1b7fb98e2",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/orphan-oss/ognl/commit/f4c17f794754d516ea799c36ed8524d1b7fb98e2"
},
{
"name": "https://github.com/orphan-oss/ognl/releases/tag/OGNL_3_4_13",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/orphan-oss/ognl/releases/tag/OGNL_3_4_13"
}
],
"source": {
"advisory": "GHSA-crwc-vw2r-qr6m",
"discovery": "UNKNOWN"
},
"title": "OGNL stricter-invocation block list bypass via java.lang.reflect reflection proxies"
}
},
"cveMetadata": {
"assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"assignerShortName": "GitHub_M",
"cveId": "CVE-2026-113730",
"datePublished": "2026-10-20T21:24:24.093Z",
"dateReserved": "2026-10-20T16:03:14.864Z",
"dateUpdated": "2026-10-21T15:51:56.220Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-113730 (GCVE-0-2026-113730)
Vulnerability from cvelistv5 – Published: 2026-10-20 21:24 – Updated: 2026-10-21 15:51
VLAI
EPSS
VEX
Title
OGNL stricter-invocation block list bypass via java.lang.reflect reflection proxies
Summary
OGNL is an Object Graph Navigation Library for Java. Prior to 3.4.13, the optional stricter-invocation mode in OgnlRuntime.invokeMethod checks the declaring class of the method that OGNL invokes but does not block java.lang.reflect.Method, java.lang.reflect.Constructor, or java.lang.reflect.Field. An attacker-controlled expression can invoke one of these reflection objects as a proxy for a method on a blocked class, causing the real operation to execute inside JDK reflection without passing through the stricter-invocation check again. Exploitation requires an application to evaluate untrusted OGNL expressions, use the default or an equivalently permissive MemberAccess that permits reflection, and rely on stricter invocation as a sandbox. Applications using a restrictive MemberAccess, including Apache Struts with SecurityMemberAccess, are not affected by this bypass. This issue is fixed in 3.4.13.
Severity
5.6 (Medium)
SSVC
Exploitation: none
Automatable: no
Technical Impact: partial
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-10-21 14:24 UTC
CWE
- CWE-693 - Protection Mechanism Failure
Assigner
References
4 references
| URL | Tags |
|---|---|
| https://github.com/orphan-oss/ognl/security/advis… | x_refsource_CONFIRM |
| https://github.com/orphan-oss/ognl/commit/16396fa… | x_refsource_MISC |
| https://github.com/orphan-oss/ognl/commit/f4c17f7… | x_refsource_MISC |
| https://github.com/orphan-oss/ognl/releases/tag/O… | x_refsource_MISC |
Impacted products
1 product
| Vendor | Product | Version | |
|---|---|---|---|
| orphan-oss | ognl |
Affected:
< 3.4.13
|
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-113730",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-10-21T14:24:48.869617Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-10-21T15:51:56.220Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"product": "ognl",
"vendor": "orphan-oss",
"versions": [
{
"status": "affected",
"version": "\u003c 3.4.13"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "OGNL is an Object Graph Navigation Library for Java. Prior to 3.4.13, the optional stricter-invocation mode in OgnlRuntime.invokeMethod checks the declaring class of the method that OGNL invokes but does not block java.lang.reflect.Method, java.lang.reflect.Constructor, or java.lang.reflect.Field. An attacker-controlled expression can invoke one of these reflection objects as a proxy for a method on a blocked class, causing the real operation to execute inside JDK reflection without passing through the stricter-invocation check again. Exploitation requires an application to evaluate untrusted OGNL expressions, use the default or an equivalently permissive MemberAccess that permits reflection, and rely on stricter invocation as a sandbox. Applications using a restrictive MemberAccess, including Apache Struts with SecurityMemberAccess, are not affected by this bypass. This issue is fixed in 3.4.13."
}
],
"metrics": [
{
"cvssV3_1": {
"attackComplexity": "HIGH",
"attackVector": "NETWORK",
"availabilityImpact": "LOW",
"baseScore": 5.6,
"baseSeverity": "MEDIUM",
"confidentialityImpact": "LOW",
"integrityImpact": "LOW",
"privilegesRequired": "NONE",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L",
"version": "3.1"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-693",
"description": "CWE-693: Protection Mechanism Failure",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-10-20T21:24:24.093Z",
"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"shortName": "GitHub_M"
},
"references": [
{
"name": "https://github.com/orphan-oss/ognl/security/advisories/GHSA-crwc-vw2r-qr6m",
"tags": [
"x_refsource_CONFIRM"
],
"url": "https://github.com/orphan-oss/ognl/security/advisories/GHSA-crwc-vw2r-qr6m"
},
{
"name": "https://github.com/orphan-oss/ognl/commit/16396fa4b560221294c2ab9ca04b76b161115e7d",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/orphan-oss/ognl/commit/16396fa4b560221294c2ab9ca04b76b161115e7d"
},
{
"name": "https://github.com/orphan-oss/ognl/commit/f4c17f794754d516ea799c36ed8524d1b7fb98e2",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/orphan-oss/ognl/commit/f4c17f794754d516ea799c36ed8524d1b7fb98e2"
},
{
"name": "https://github.com/orphan-oss/ognl/releases/tag/OGNL_3_4_13",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/orphan-oss/ognl/releases/tag/OGNL_3_4_13"
}
],
"source": {
"advisory": "GHSA-crwc-vw2r-qr6m",
"discovery": "UNKNOWN"
},
"title": "OGNL stricter-invocation block list bypass via java.lang.reflect reflection proxies"
}
},
"cveMetadata": {
"assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"assignerShortName": "GitHub_M",
"cveId": "CVE-2026-113730",
"datePublished": "2026-10-20T21:24:24.093Z",
"dateReserved": "2026-10-20T16:03:14.864Z",
"dateUpdated": "2026-10-21T15:51:56.220Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}