CVE-2026-50229 Apache Tomcat
| Affected software | Apache Tomcat |
|---|---|
| Severity | 6.1 Medium CVSS 3.1 |
| Fixed in | 11.0.23, 10.1.56, 9.0.119 |
| Weakness | CWE-80 |
| Published | 29 Jun 2026 |
| Updated | 2 Nov 2026 |
Description
Improper Neutralization of Script-Related HTML Tags in a Web Page (Basic XSS) vulnerability in the number guess example for Apache Tomcat. This issue affects Apache Tomcat: from 11.0.0-M1 through 11.0.22, from 10.1.0-M1 through 10.1.55, from 9.0.0.M1 through 9.0.118, from 8.5.0 through 8.5.100, from 7.0.0 through 7.0.109. Other versions that have reached end of support may also be affected. Users are recommended to upgrade to version 11.0.23, 10.1.56 or 9.0.119, which fix the issue.
Exploitation status
Working exploit published
A reviewed exploit catalogue lists ready-to-run exploit code for this CVE.
Exploitation status
- CISA KEV not listed
- VulnCheck KEV not listed
- CISA Vulnrichment exploitation: none
- Indexed PoC 1 indexed Published artifacts you can open, in Nuclei.
- EPSS 4.1% chance in 30 days
| Index | Artifact | Stars | First seen |
|---|---|---|---|
| Nuclei | Apache Tomcat - Cross-Site Scripting |
Waratek protection
Waratek has a rule that blocks attacks on this vulnerability.
- Protection full XSS
- Action available security rule
- Review automated AI triage
- Record active
| Decided by | A researcher's recorded decision for this specific CVE |
|---|---|
| Finding | An AI triage run found this CVE protected by the ARMR Cross-Site Scripting (XSS) rule. |
Waratek research note
written 2026-11-13Written by a Waratek engineer who reviewed this CVE. Their decision sets the status above, ahead of every automated rule except a withdrawal.
Comments
Rule Name: Cross-Site Scripting (XSS) rule
Tomcat's number guess example page copies every request parameter onto its bean, including an internal hint value, and prints it back into the page without escaping. A link to /examples/jsp/num/numguess.jsp with a script in the hint parameter therefore runs that script in the browser of whoever clicks it. In the Portal's Rules Wizard, add a Cross-Site Scripting (XSS) rule whose endpoint covers /examples/jsp/num/numguess.jsp (or every endpoint), with HTTP request parameters as a trust source, the strictest policy and the action set to Protect. The rule follows the request value into the HTML the page writes and blocks the response when that value adds any tag or attribute, so it catches whatever payload the attacker picks, not just the published <script> one. That still holds when the value is stored in the session and shown again on a later visit, because the value keeps its taint. The rule does nothing about a visitor setting the game's other internal values, which only lets them cheat at the example game, and removing the examples web application from production servers closes the hole as well.
How to mitigate CVE-2026-50229
Upgrade Apache Tomcat to a release that fixes it: 11.0.23, 10.1.56 or 9.0.119. Until you can, Waratek RASP blocks exploitation with its XSS rule. It runs inside the Java application, with no code changes.
Affected software and releases
Oracle advisories
| Advisory | Type | Quarter | Products Oracle names in its risk matrix |
|---|---|---|---|
| Oracle Critical Patch Update October 2026 ↗ | CPU | 2026-Q4 | Oracle Communications / Alarms, KPI, and Measurements (Apache Tomcat) (25.2.200) Oracle Communications / CMP (Apache Tomcat) (15.0.0.0.0, 15.1.0.0.0) Oracle Communications / Microservices (Apache Tomcat) (7.0.0) Oracle Communications / Platform (Apache Tomcat) (47.0.0.2.0) Oracle Hospitality Applications / Next-Gen SPMS (Apache Tomcat) (23.1, 23.2, 23.3) Oracle Retail Applications / Xenvironment (Apache Tomcat) (21.0.5, 22.0.3, 23.0.3, 24.0.2, 25.0.1, 26.0.0) Oracle Siebel CRM / Application Interface (Apache Tomcat) (17.0-26.9) |
| Oracle Critical Security Patch Update August 2026 ↗ | CSPU | 2026-Q3 | Oracle Communications / Security (Apache Tomcat) (25.2.0.0.10) |
| Oracle Critical Security Patch Update September 2026 ↗ | CSPU | 2026-Q3 | Oracle Siebel CRM / EAI (Apache Tomcat) (17.0-26.7) |
Oracle components and versions
| Family | Component | Versions, as Oracle lists them | Read as |
|---|---|---|---|
| Oracle Communications | Alarms, KPI, and Measurements (Apache Tomcat) | 25.2.200 | 25.2.200 |
| Oracle Communications | CMP (Apache Tomcat) | 15.0.0.0.0, 15.1.0.0.0 | 15.0.0.0.0 · 15.1.0.0.0 |
| Oracle Communications | Microservices (Apache Tomcat) | 7.0.0 | 7.0.0 |
| Oracle Communications | Platform (Apache Tomcat) | 47.0.0.2.0 | 47.0.0.2.0 |
| Oracle Communications | Security (Apache Tomcat) | 25.2.0.0.10 | 25.2.0.0.10 |
| Oracle Hospitality Applications | Next-Gen SPMS (Apache Tomcat) | 23.1, 23.2, 23.3 | 23.1 · 23.2 · 23.3 |
| Oracle Retail Applications | Xenvironment (Apache Tomcat) | 21.0.5, 22.0.3, 23.0.3, 24.0.2, 25.0.1, 26.0.0 | 21.0.5 · 22.0.3 · 23.0.3 · 24.0.2 · 25.0.1 · 26.0.0 |
| Oracle Siebel CRM | Application Interface (Apache Tomcat) | 17.0-26.9 | |
| Oracle Siebel CRM | EAI (Apache Tomcat) | 17.0-26.7 |
Maven packages
Affected and fixed versions, from OSV.dev| Package | Introduced | Fixed | Last affected |
|---|---|---|---|
org.apache.tomcat:tomcat |
11.0.0-M1 | 11.0.23 |
unbounded |
org.apache.tomcat:tomcat |
10.1.0-M1 | 10.1.56 |
unbounded |
org.apache.tomcat:tomcat |
9.0.0.M1 | 9.0.119 |
unbounded |
org.apache.tomcat:tomcat |
8.5.0 | none | 8.5.100 |
org.apache.tomcat:tomcat |
0 | none | 7.0.109 |
Products and versions
2 products, 10 version entries| Source | Vendor | Product | Scheme | Affected versions |
|---|---|---|---|---|
| nvd | apache | tomcat | generic | ≤ 7.0.109 · ≥ 8.5.0 and ≤ 8.5.100 · ≥ 9.0.0 and < 9.0.119 · ≥ 10.1.0 and < 10.1.56 · ≥ 11.0.0 and < 11.0.23 |
| osv | org.apache.tomcat | tomcat | generic | ≤ 7.0.109 · ≥ 8.5.0 and ≤ 8.5.100 · ≥ 9.0.0 and < 9.0.119 · ≥ 10.1.0 and < 10.1.56 · ≥ 11.0.0 and < 11.0.23 |
References
Timeline
Timeline
| Published | 2026-06-29 | By the CVE Program. |
|---|---|---|
| NVD record modified | 2026-10-25 | NVD's own last-modified date for this record. |
| Last VRT activity | 2026-11-02 | Most recent commit touching this CVE's classification, patch or rule file. |
| Classification created | 2026-11-13 | First commit adding this CVE's research note. |