Description
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.
Published: 2026-10-20
Score: 5.6 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Remote code execution via OGNL reflection proxy bypass
Action: Immediate Patch
AI Analysis

Impact

OGNL includes an optional stricter‑invocation mode that checks the declaring class of any method accessed through the library. In versions prior to 3.4.13 the check omitted java.lang.reflect.Method, Constructor, and Field, allowing an expression crafted by an attacker to wrap a blocked method in a reflection proxy and thereby bypass the sandbox. The result is that the underlying method is executed inside Java’s reflection engine without the stricter‑invocation guard, giving the attacker the ability to invoke arbitrary code. This flaw is identified as an improper trust boundary handling (CWE‑693) and can lead to remote code execution when untrusted OGNL expressions are evaluated.

Affected Systems

Vendor: Orphan OSS. Product: OGNL, the Object Graph Navigation Library for Java. Affected releases are any versions older than 3.4.13. Applications that use a restrictive MemberAccess policy, such as Apache Struts equipped with SecurityMemberAccess, are not impacted because the bypass requires a permissive MemberAccess that permits reflection.

Risk and Exploitability

The CVSS vector scores of 5.6 indicates a moderate severity overall. EPSS is not available, and the vulnerability is not listed in CISA’s Known Exploited Vulnerabilities catalog, so public exploitation activity is not currently documented. Nevertheless, the flaw requires that an attacker can inject an OGNL expression into a system that evaluates it with permissive reflection access. This is typically possible through web formulary or other input that is parsed by OGNL, such as Struts 2 action parameters. If such a vector exists, the attacker could execute arbitrary methods on blocked classes, potentially leading to system compromise. The risk is moderated by the prerequisite of a permissive MemberAccess configuration; applications in a hardened environment are less susceptible.

Generated by OpenCVE AI on October 21, 2026 at 05:52 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade OGNL to version 3.4.13 or later to apply the vendor‑supplied fix that removes the reflection proxy bypass.
  • Configure all OGNL evaluations to use a restrictive MemberAccess, such as SecurityMemberAccess, to prevent reflection calls from executing unblocked methods.
  • Validate or sanitize any input that is passed to OGNL expression evaluation so that untrusted expressions cannot be injected.

Generated by OpenCVE AI on October 21, 2026 at 05:52 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-crwc-vw2r-qr6m OGNL stricter-invocation block list bypass via java.lang.reflect reflection proxies
History

Wed, 21 Oct 2026 20:45:00 +0000

Type Values Removed Values Added
First Time appeared Orphan-oss
Orphan-oss ognl
Vendors & Products Orphan-oss
Orphan-oss ognl

Wed, 21 Oct 2026 17:15:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Tue, 20 Oct 2026 21:30:00 +0000

Type Values Removed Values Added
Description 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.
Title OGNL stricter-invocation block list bypass via java.lang.reflect reflection proxies
Weaknesses CWE-693
References
Metrics cvssV3_1

{'score': 5.6, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-21T15:51:56.220Z

Reserved: 2026-10-20T16:03:14.864Z

Link: CVE-2026-113730

cve-icon Vulnrichment

Updated: 2026-10-21T14:24:49.641Z

cve-icon NVD

Status : Received

Published: 2026-10-20T22:19:30.043

Modified: 2026-10-21T16:17:25.623

Link: CVE-2026-113730

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-21T20:20:55Z

Weaknesses
  • CWE-693

    Protection Mechanism Failure