What it is
CVE-2022-42889 is an unauthenticated vulnerability affecting Apache Commons Text. Apache Commons Text performs variable interpolation, allowing properties to be dynamically evaluated and expanded. The standard format...
Vulnerability report
Apache Commons Text Remote Code Execution
Apache Commons Text · unspecified to <= 1.9
Decision summary
Direct answers before the deeper technical record.
What it is
CVE-2022-42889 is an unauthenticated vulnerability affecting Apache Commons Text. Apache Commons Text performs variable interpolation, allowing properties to be dynamically evaluated and expanded. The standard format...
Is it exploited?
Yes. Previdian tracks this CVE as a known exploited vulnerability. Confidence is high. Also confirmed by third-party sources.
Who is affected?
Apache Commons Text unspecified to <= 1.9.
What should we do?
Prioritize remediation. Validate affected assets and apply vendor fixes on an accelerated timeline.
Overview
Apache Commons Text performs variable interpolation, allowing properties to be dynamically evaluated and expanded. The standard format for interpolation is "${prefix:name}", where "prefix" is used to locate an instance of org.apache.commons.text.lookup.StringLookup that performs the interpolation. Starting with version 1.5 and continuing through 1.9, the set of default Lookup instances included interpolators that could result in arbitrary code execution or contact with remote servers.
These lookups are: - "script" - execute expressions using the JVM script execution engine (javax.script) - "dns" - resolve dns records - "url" - load values from urls, including from remote servers Applications using the interpolation defaults in the affected versions may be vulnerable to remote code execution or unintentional contact with remote servers if untrusted configuration values are used. Users are recommended to upgrade to Apache Commons Text 1.10.0, which disables the problematic interpolators by default.
Exploitation evidence
Third-party attestation and first-party sensor observation are shown separately so teams can judge the evidence chain.
GitHub
Public scanner or PoC coverage increases practical exploitability.
Per-source evidence links for KEV attestations are available through the Previdian Pro API.
Learn about Pro API access| Source | Added |
|---|---|
| Wordfence First | 2022-10-20 11:40 UTC |
Detection
Make the evidence actionable in scanner, SOC, and edge-control workflows.
Request targets and User-Agents available in Pro. Callback host details available in Enterprise.
Metasploit template detected 28 Apr 2025.
View Metasploit template (opens in new tab)No Previdian virtual patch is currently available. Future rules ship for ModSecurity, Cloudflare, and AWS WAF.
Learn about virtual patches →Scanner and exploit-framework references linked to this CVE.
| Scanner | Reference | Detected |
|---|---|---|
| Metasploit | https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/multi/http/apache_commons_text4shell.rb | 28 Apr 2025 |
Risk and context
CVSS v3.1
Potential damage if exploited. Separate from whether attackers are using it.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
EPSS
99.9%
Estimated chance of exploitation in the next 30 days. Previdian's warning comes from evidence, not this score.
These PoCs are unverified and could contain malware. Use at your own risk.
Timeline
15:02 UTC
Exploit module available
15:02 UTC
Public proof-of-concept code published
11:40 UTC
High-confidence, third-party attested exploitation
00:00 UTC
Vulnerability disclosed publicly
00:00 UTC
Identifier reserved by the CNA
Pro API
Confidence, exploit status, sensor telemetry, PoCs, scanner integrations, mentions, and tags are available programmatically for VM, SOC, and CTI workflows.
GET /api/v2/pro/kevs/CVE-2022-42889
Free JSON includes basic KEV fields{
"cve_id": "CVE-2022-42889",
"confidence": "High",
"cvss_score": 9.8,
"cvss_estimated": false,
"epss_score": 0.99931,
"exploit_status": {
"exploited_in_the_wild": false,
"active_exploitation_observed": false
},
"sensor_telemetry": { "attempts": 0, "sensors": 0 }
}