{"id":"CVE-2026-113730","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.Metho…","severity":"medium","cvss":5.6,"cvssVector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L","cvssSource":"cna","cwe":["CWE-693"],"vendor":"orphan-oss","product":"ognl","affected":["ognl < 3.4.13"],"published":"2026-10-20","updated":"2026-10-20","sourceUpdated":"2026-10-20T21:24:24.093Z","source":"CVEORG","sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-113730","references":[{"url":"https://github.com/orphan-oss/ognl/security/advisories/GHSA-crwc-vw2r-qr6m","label":"https://github.com/orphan-oss/ognl/security/advisories/GHSA-crwc-vw2r-qr6m"},{"url":"https://github.com/orphan-oss/ognl/commit/16396fa4b560221294c2ab9ca04b76b161115e7d","label":"https://github.com/orphan-oss/ognl/commit/16396fa4b560221294c2ab9ca04b76b161115e7d"},{"url":"https://github.com/orphan-oss/ognl/commit/f4c17f794754d516ea799c36ed8524d1b7fb98e2","label":"https://github.com/orphan-oss/ognl/commit/f4c17f794754d516ea799c36ed8524d1b7fb98e2"},{"url":"https://github.com/orphan-oss/ognl/releases/tag/OGNL_3_4_13","label":"https://github.com/orphan-oss/ognl/releases/tag/OGNL_3_4_13"}],"tags":["cve.org"],"ingestedAt":"2026-10-20T22:23:33.853Z","slug":"CVE-2026-113730","body":"## Overview\n\nOGNL 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.\n\n## Affected\n\n- `ognl < 3.4.13`\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"sunlit","depthScore":31,"depthScoreParts":{"impact":30.8,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}