CVE-2010-1871 — Red Hat Linux JBoss Seam 2 Remote Code Execution Vulnerability

CVE-2010-1871

Red Hat JBoss Seam 2 — Expression Language Injection via URL Parameters Enables Remote Code Execution on JBoss EAP 4.3

What is JBoss Seam 2?

JBoss Seam 2 is a Java EE application framework developed by Red Hat that integrates JavaServer Faces (JSF), Enterprise JavaBeans (EJB), and other Java EE components. A central feature of Seam 2 is its use of the Unified Expression Language (EL) for data binding — Seam evaluates EL expressions in URL path parameters, view identifiers, and page parameters to dynamically look up beans and invoke methods. This EL evaluation engine, intended to simplify development, became the attack surface for CVE-2010-1871: an attacker who could inject arbitrary EL expressions into URL parameters could cause the server to evaluate Java code server-side.

Overview

CVE-2010-1871 is a high-severity Expression Language injection vulnerability (CWE-917, CVSS 8.8) in JBoss Seam 2, as shipped with JBoss Enterprise Application Platform 4.3. The vulnerability allows remote attackers to inject EL expressions via URL parameters, which are evaluated by the Seam framework without sufficient sanitization. When the Java Security Manager is not properly configured — the default state in most JBoss EAP 4.3 deployments — this EL injection enables arbitrary Java code execution on the server. CISA added CVE-2010-1871 to KEV on its inaugural launch date in December 2021, indicating confirmed exploitation of this 2010 vulnerability against legacy JBoss deployments.

Affected Versions

Product Vulnerable Fixed
JBoss Enterprise Application Platform 4.3.0 for Red Hat Linux Affected Apply Red Hat Security Advisory RHSA-2010:0564
JBoss Seam 2 (community) before patched version Affected Update to patched Seam 2 release

Technical Details

The vulnerability exists in how JBoss Seam 2 processes URL path parameters. Seam 2 uses EL expressions extensively for page navigation and action invocation. When processing URL parameters like action or outcome, Seam evaluates the values as EL expressions — for example, #{someBean.method()} would invoke a method on a managed bean.

The flaw is that Seam did not properly restrict what EL expressions could be injected through these URL parameters. An attacker could craft a URL containing EL expressions that:

  • Access Java runtime objects through the EL object graph
  • Invoke Runtime.exec() or similar methods to execute OS commands
  • Read arbitrary files from the server filesystem
  • Access database credentials and other application configuration

The critical caveat is that exploitation is blocked if the Java Security Manager is properly configured with restrictive policies. However, the Java Security Manager is complex to configure correctly, and the default JBoss EAP 4.3 deployment did not restrict the EL execution context sufficiently. This meant that any internet-facing JBoss Seam 2 application was vulnerable to remote code execution with default configuration.

Discovery

Discovered through security research into Seam 2's EL evaluation architecture. The vulnerability was reported to Red Hat, which released Security Advisory RHSA-2010:0564 in August 2010. The CWE-917 classification (Improper Neutralization of Special Elements Used in an Expression Language Statement) reflects a vulnerability class that would recur in similar Java EE frameworks — JBoss Seam EL injection attacks were precursors to the more widely publicized Expression Language injection vulnerabilities found in Spring MVC (2011) and Apache Struts (2013 onward).

Exploitation Context

JBoss Seam 2 EL injection attracted sustained exploitation due to the prevalence of legacy JBoss EAP deployments:

  • KEV inaugural list: CISA included CVE-2010-1871 in its initial 287-entry KEV launch list on December 10, 2021. Inclusion in that list reflected active exploitation of legacy JBoss installations in 2021 — more than a decade after the patch.
  • Internet-facing Java EE applications: Enterprise Java applications built on JBoss Seam 2 were commonly deployed in insurance, healthcare, and government sectors, frequently on internet-facing infrastructure.
  • No authentication required: The CVSS 8.8 score includes userInteraction: Required — which reflects that a browser request triggers the evaluation — but no authentication is needed. Any visitor to a Seam 2 application could potentially exploit this.
  • Legacy persistence: JBoss EAP 4.3 reached end-of-life in 2012 but remained in production at organizations unable to migrate complex Seam 2 applications to JBoss EAP 6 (which required significant code changes).
  • EL injection as a vulnerability class: CVE-2010-1871 demonstrated the dangers of server-side EL evaluation of untrusted input, a lesson that influenced the design of Expression Language 3.0 and similar frameworks.

Remediation

  1. Apply RHSA-2010:0564: Install the Red Hat Security Advisory update for JBoss EAP 4.3 that patches the Seam 2 EL injection vulnerability.
  2. Configure Java Security Manager: Even after patching, deploy a properly restrictive Java Security Manager policy to limit the impact of any EL evaluation vulnerability.
  3. Upgrade JBoss EAP: JBoss EAP 4.3 is end-of-life. Migrate to JBoss EAP 7 (current) or WildFly. JBoss EAP 7 uses Seam 3 / CDI rather than Seam 2.
  4. Migrate off Seam 2: JBoss Seam 2 is no longer supported. Applications should be migrated to CDI (Contexts and Dependency Injection) and modern Java EE / Jakarta EE frameworks.
  5. Input validation: Validate and sanitize all URL parameters that are evaluated in any EL context to prevent injection.
  6. Network access control: Limit access to JBoss EAP management interfaces and application ports to known IP ranges.

Key Details

PropertyValue
CVE ID CVE-2010-1871
Vendor / Product Red Hat — JBoss Seam 2
NVD Published2010-08-05
NVD Last Modified2025-10-22
CVSS 3.1 Score8.8
CVSS 3.1 VectorCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
SeverityHIGH
CWE CWE-917 find similar ↗
CISA KEV Added2021-12-10
CISA KEV Deadline2022-06-10
Known Ransomware Use No

CVSS 3.1 Breakdown

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

Required Action

CISA BOD 22-01 Deadline: 2022-06-10. Apply updates per vendor instructions.

Timeline

DateEvent
2010-07-12Vulnerability reported to Red Hat; JBoss Seam 2 EL injection via URL parameters disclosed
2010-08-05CVE-2010-1871 published
2021-12-10CISA added to KEV on its inaugural launch date — one of the original 287 KEV entries
2022-06-10CISA BOD 22-01 remediation deadline

References

ResourceType
NVD — CVE-2010-1871 Vulnerability Database
CISA KEV Catalog Entry US Government