cbcvebase.
CVE-2011-3923
published 2019-11-01

CVE-2011-3923: Apache Struts before 2.3.1.2 allows remote attackers to bypass security protections in the ParameterInterceptor class and execute arbitrary commands.

PriorityP186critical9.8CVSS 3.1
AVNACLPRNUINSUCHIHAH
EXPLOIT
EPSS
88.83%
99.8th percentile
Apache Struts before 2.3.1.2 allows remote attackers to bypass security protections in the ParameterInterceptor class and execute arbitrary commands.

Affected

3 ranges
VendorProductVersion rangeFixed in
apachestruts
apachestruts>= 2.0.0 < 2.3.1.22.3.1.2
redhatjboss_enterprise_web_server

Detection & IOCsextracted from sources · hover to see the quote

  • Detect OGNL injection via parentheses in HTTP parameter values — the regex in ParametersInterceptor matches top['foo'](0) as valid, allowing OGNL evaluation of String action parameters. Look for parameter values containing patterns like `(#context[` or `(#_memberAccess[` in HTTP requests.
  • Flag HTTP requests to Struts .action endpoints where parameter values contain `#context["xwork.MethodAccessor.denyMethodExecution"]` or `#_memberAccess["allowStaticMethodAccess"]` — these are the canonical OGNL sandbox-bypass strings used in CVE-2011-3923 exploitation.
  • Detect the two-parameter exploitation pattern: one parameter stores the OGNL payload as a String value, and a second parameter uses a dynamic function call syntax `z[(paramname)('value')]=true` to trigger evaluation. Both parameters appearing together in a single request is a strong indicator of exploitation.
  • Detect the exception-based exploitation vector: numeric-typed action parameters (e.g. productId) receiving non-numeric string values that embed OGNL expressions. Struts re-evaluates the value as OGNL during type-mismatch exception handling.
  • The Metasploit module uses a time-based blind check: it injects `@java.lang.Thread@sleep(N*1000)` and measures response delay. Detect anomalously slow responses to .action endpoints combined with OGNL-like parameter content as a sign of active exploitation or probing.
  • The Metasploit module defaults to targeting the `username` parameter for injection. Monitor for OGNL payloads in login-related parameters (e.g. `username`) on Struts .action endpoints.
  • ·Vulnerability affects Apache Struts versions 2.0.0 through 2.3.1.1 only; version 2.3.1.2 contains the fix. Detections should be scoped to unpatched deployments in this range.
  • ·Red Hat products do not ship or enable Struts 2 in final builds, but struts2-core JARs were included in source packages for Fuse Service Works 6.0.0 and Single Sign On 7.3.0+. Only customers who built artifacts from source are at risk.

CVSS provenance

nvdv3.19.8CRITICALCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
nvdv2.07.5HIGHAV:N/AC:L/Au:N/C:P/I:P/A:P
CVEs like this are exactly what “Exploited This Week” covers.

Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.