[GHSA-653p-vg55-5652] Apache Tomcat Uncontrolled Resource Consumption vulnerability#7521
Open
yusuke-koyoshi wants to merge 1 commit intoyusuke-koyoshi/advisory-improvement-7521from
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Updates
Comments
The scope of this vulnerability is limited to the bundled example web
application under
webapps/examples/, which Apache Tomcat explicitlydoes NOT recommend deploying in production. The current advisory
overstates the impact for typical deployments.
== Evidence ==
Apache Tomcat security report lists the affected files all under
webapps/examples/:https://tomcat.apache.org/security-9.html
https://tomcat.apache.org/security-10.html
https://tomcat.apache.org/security-11.html
The 9.x backport fix series (9 commits) modified only files under
webapps/examples/. No source underjava/(production servercode) was touched. Sample commits:
(7 more in the 9.x series, all under webapps/examples/**)
Apache Tomcat Security Considerations explicitly recommends removing
the examples webapp in production:
https://tomcat.apache.org/tomcat-9.0-doc/security-howto.html
== Proposed changes ==
(1) Description — append a Mitigation paragraph at the end of the existing description:
(2) Affected packages — remove:
The example webapp lives under
webapps/examples/in the binarydistribution; it is NOT included in the
tomcat-catalinaartifacton Maven Central. Verified with the 9.0.117 distribution zip vs
tomcat-catalina-9.0.117.jar: the modified classes(RequestHeaderExample, SessionExample, etc.) exist only under
webapps/examples/WEB-INF/classes/in the distribution and areabsent from the tomcat-catalina jar. This causes false-positive
detections on production deployments that depend on tomcat-catalina
without using the examples webapp.
org.apache.tomcat:tomcat(binary distribution that bundleswebapps/examples) is correctly affected and should stay.
(3) CVSS v4.0 — three changes (6.6 -> 6.3):
Before: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:U (6.6)
After : CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N (6.3)
(a) AT (Attack Requirements): N -> P
Exploitation requires the optional examples webapp to be
deployed and reachable. This environmental precondition maps
to AT:P per the CVSS v4.0 spec, not AT:N.
(b) VA (Vulnerable System Availability): H -> L
The "Vulnerable System" is the Tomcat instance. Taking down
the bundled examples webapp does not impair availability of
other webapps deployed on the same instance. The impact is
partial, mapping to VA:L rather than VA:H.
(c) Remove the Threat metric
E:U(Exploit Maturity: Unproven)Vulnerability databases should publish Base metrics only.
Threat metrics are time-varying and should be applied by
downstream consumers (organizations, scanners), not stored at
the source advisory.
== Request to GitHub Security Curators ==
The "Suggest improvements" UI does not allow editing the Threat metric
E:U. Please remove it manually when applying this proposal so thefinal vector contains only Base metrics:
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
This aligns with the principle that an advisory database should
publish vendor-neutral Base metrics only, and let downstream tooling
overlay environment-specific Threat/Environmental metrics.