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.
{
"cna_assigner": "GitHub_M",
"cwe_ids": [
"CWE-693"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/113xxx/CVE-2026-113730.json"
}{
"extracted_events": [
{
"range": [
{
"introduced": "0"
},
{
"fixed": "3.4.13"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"fixed": "16396fa4b560221294c2ab9ca04b76b161115e7d"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "f4c17f794754d516ea799c36ed8524d1b7fb98e2"
}
],
"source": "REFERENCES_COMMIT"
},
{
"original_tag": "OGNL_3_4_13",
"range": [
{
"fixed": "d92c7d3153e9ee51953b1c88df0b292e1a7f23e9"
}
],
"source": "REFERENCES_TAG"
}
]
}
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-113730.json"
[
{
"deprecated": false,
"digest": {
"function_hash": "334233751160444342862515372962702511043",
"length": 1978
},
"id": "CVE-2026-113730-6b1456d6",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/orphan-oss/ognl/commit/16396fa4b560221294c2ab9ca04b76b161115e7d",
"target": {
"file": "ognl/src/main/java/ognl/OgnlRuntime.java",
"function": "invokeMethod"
}
},
{
"deprecated": false,
"digest": {
"function_hash": "255098191853421534153501879208143402173",
"length": 2908
},
"id": "CVE-2026-113730-8c2daa1d",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/orphan-oss/ognl/commit/f4c17f794754d516ea799c36ed8524d1b7fb98e2",
"target": {
"file": "src/main/java/ognl/OgnlRuntime.java",
"function": "invokeMethod"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"95515084170794385912493604941306622782",
"290902060387007093802232342938252108168",
"73624621775664156231362232939708856594",
"156021304283618269892127477664395080945"
],
"threshold": 0.9
},
"id": "CVE-2026-113730-ce367fca",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/orphan-oss/ognl/commit/16396fa4b560221294c2ab9ca04b76b161115e7d",
"target": {
"file": "ognl/src/main/java/ognl/OgnlRuntime.java"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"95515084170794385912493604941306622782",
"142716134767813479774632542273095477928",
"60682005161673294066198102051547031111",
"331647046328749616830387743273730171473"
],
"threshold": 0.9
},
"id": "CVE-2026-113730-fed6e55c",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/orphan-oss/ognl/commit/f4c17f794754d516ea799c36ed8524d1b7fb98e2",
"target": {
"file": "src/main/java/ognl/OgnlRuntime.java"
}
}
]
"2026-10-21T10:59:10Z"