Skip to main content

OGNL CVE-2026-113730

| EUVDEUVD-2026-106421 MEDIUM
Protection Mechanism Failure (CWE-693)
2026-10-20 security-advisories@github.com GHSA-crwc-vw2r-qr6m
5.6
CVSS 3.1 · Vendor: github
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Reach endpoint evaluating untrusted OGNL
  2. Delivery
    Submit expression invoking reflection proxy
  3. Exploit
    Method.invoke bypasses stricter-invocation check
  4. Execution
    Reach blocked class (e.g. ProcessBuilder)
  5. Impact
    Execute attacker-controlled operation

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V15 - Secure Coding and Architecture Protection mechanism completeness
Exploitation Conditions

Exploitation is gated on three specific, stacked conditions that must ALL hold: (1) the application must evaluate untrusted/attacker-controlled OGNL expressions; (2) it must use the default or an equivalently permissive MemberAccess that permits reflection; and (3) it must rely on OGNL's optional stricter-invocation mode (OgnlRuntime.invokeMethod) as its sandbox/guardrail. The concrete bypass uses java.lang.reflect.Method, Constructor, or Field as a proxy so the blocked operation runs inside JDK reflection. A major LIMITING factor: applications using a restrictive MemberAccess - explicitly including Apache Struts with SecurityMemberAccess - are NOT affected, so the dominant OGNL deployment is out of scope. No user interaction or authentication is required by the attacker (PR:N/UI:N), but the vulnerable configuration itself is non-default for hardened deployments, driving the high attack complexity.

Impact

This is a defense-in-depth bypass (CWE-693, protection mechanism failure) in the OGNL library's optional stricter-invocation mode, not a directly exploitable remote flaw. The provided CVSS vector (AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L = 5.6 Medium) reflects the conservative view that the issue only matters under specific conditions. No EPSS score was provided and there is no CISA KEV listing, so there is no public signal of active exploitation or high exploitation probability; no public exploit code was supplied in the intelligence either. The real-world risk is narrow but, where applicable, significant: the referenced fix and test code show the reflection-proxy trick (e.g. #methods[i].invoke(#pb, null)) can reach blocked classes such as ProcessBuilder, meaning a successful bypass can escalate to arbitrary code execution rather than the low C/I/A the base score implies - this is a notable tension between the vendor's L/L/L impact rating and the actual technical consequence of the bypass. The AC:H rating is well justified because exploitation is gated on three stacked preconditions (untrusted OGNL evaluation, permissive MemberAccess, and reliance on stricter invocation as the sandbox). Critically, the most common real-world consumer - Apache Struts with SecurityMemberAccess - is explicitly NOT affected, which sharply limits the exploitable population. Net: prioritize patching for any application that evaluates untrusted OGNL and depends on stricter invocation as its only guardrail, but treat it as lower urgency than the raw RCE potential would suggest because the vulnerable configuration is uncommon and no exploitation is confirmed.

Exploit ScenarioDerived

An application evaluates attacker-supplied OGNL expressions and relies on the stricter-invocation mode (with a default/permissive MemberAccess) as its sandbox. The attacker submits an expression that invokes java.lang.reflect.Method.invoke (or Constructor.newInstance / Field.get) as a proxy, so the real call to an otherwise-blocked class executes inside JDK reflection without re-passing the stricter-invocation check, enabling reach to classes like ProcessBuilder. No public exploit was provided in the intelligence, though the fix's test suite documents the Method.invoke vector; high attack complexity (AC:H) applies because the permissive-but-stricter-invocation configuration must be present.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 21, 2026

OGNL versions before 3.4.13 can be tricked into executing blocked operations through Java reflection when an application evaluates attacker-controlled OGNL expressions under the optional stricter-invocation sandbox and a permissive MemberAccess. The bypass uses java.lang.reflect.Method, Constructor, or Field as a proxy so the real call runs inside JDK reflection without a second stricter-invocation check; applications that use a restrictive MemberAccess, including Apache Struts with SecurityMemberAccess, are not affected. No public exploit code or confirmed active exploitation was identified at time of analysis, and exploitation requires the specific stacked configuration described rather than default hardened deployments.

RemediationAI

Vendor-released patch: OGNL 3.4.13, available from the OGNL_3_4_13 release at https://github.com/orphan-oss/ognl/releases/tag/OGNL_3_4_13 and documented in the GitHub advisory https://github.com/orphan-oss/ognl/security/advisories/GHSA-crwc-vw2r-qr6m; the fixes are in commits 16396fa4b560221294c2ab9ca04b76b161115e7d and f4c17f794754d516ea799c36ed8524d1b7fb98e2. If upgrading immediately is not possible, stop evaluating untrusted OGNL expressions and replace the default or permissive MemberAccess with a restrictive implementation such as Apache Struts SecurityMemberAccess, noting that restrictive MemberAccess can break legitimate expressions that depend on reflection. Do not treat stricter-invocation mode as the sole sandbox until 3.4.13 is deployed, because the reflection proxy bypass remains available in that configuration.

Affected VersionsENISA

ognl < 3.4.13

Affected Packages

maven ognl:ognl fix: 3.4.13
euvd ognl fix: 3.4.13

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in maven, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

OGNL is a Java object-graph navigation and expression language used by frameworks and applications to evaluate expressions against Java objects. This is CWE-693, protection mechanism failure: the optional stricter-invocation mode in OgnlRuntime.invokeMethod is intended as a sandbox guardrail, but prior to 3.4.13 it checked the declaring class of the method OGNL invokes without blocking the core reflection entry points java.lang.reflect.Method, java.lang.reflect.Constructor, and java.lang.reflect.Field. An attacker-controlled expression can therefore invoke Method.invoke, Constructor.newInstance, or Field.get/set as a proxy so the blocked operation executes inside JDK reflection without passing through the stricter-invocation check again. The fix adds assignability checks for Method, Constructor, and Field in OgnlRuntime and adds regression tests for the reflection-proxy bypass. The provided NVD score is 5.6 with AC:H, reflecting the stacked preconditions and limited scope; the independent assessment raises confidentiality, integrity, and availability impact to high when this bypass defeats the only sandbox. Applications using a restrictive MemberAccess, explicitly including Apache Struts with SecurityMemberAccess, are out of scope because reflection is already restricted.

Know when the next one hits your stack

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (github) PRIMARY 5.6 MEDIUM
AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L
vuln.today AI 8.1 HIGH

AV:N as OGNL expressions typically arrive over the network and PR:N/UI:N as the attacker needs no account; AC:H for the stacked permissive-plus-stricter-invocation precondition; C/I/A:H because the bypass can reach ProcessBuilder for code execution.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (github).

CVSS VectorVendor: github

Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
Low
Availability
Low

Lifecycle Timeline

2
Patch available
Oct 20, 2026 - 23:20 EUVD
CVE Published
Oct 20, 2026 - 22:19 cve.org
MEDIUM 5.6

DescriptionCVE.org

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.

Threat Intelligence Overview

EPSS Score
0.4%
Top 72% exploitable
Prevalence
Medium
common Java expression library, but affected non-Struts permissive config is uncommon
Threat Intel
1
1 source
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

28
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +28
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy