Cloudanix VulnDB

CVE-2025-49125

None

Apache Tomcat - Security constraint bypass for pre/post-resources

CVSS

—

EPSS

3.4%

Published

Jun 16, 2025

CISA due date

—

Cloudanix analysis

Next patch cycle SSVC: Track

Some Tomcat-based websites may let people reach protected files or pages through an unintended address, so affected systems should be updated and checked for exposure.

Chainable
Exploitation
Remote Unauthenticated
Attacker needs
None
Complexity
Low
Impact
Data Exposure
Component
Web Framework
Class
Authentication Bypass
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

This is an authentication-bypass flaw in Apache Tomcat’s handling of web application resources when PreResources or PostResources are mounted at a path other than the web application root. In vulnerable versions, the same mounted resource could be reachable through an unexpected URL path that may not match the security constraints configured for the intended path. As a result, a resource that should require authentication or authorization can be served to an unauthenticated or lower-privileged requester. The impact is primarily unauthorized access to protected web application resources; it does not inherently provide remote code execution, but exposed sensitive files, application functions, or configuration data could enable follow-on compromise.

Why it matters to the business

Organizations running affected Tomcat versions may unintentionally expose protected application content or functionality to unauthenticated users. The operational risk depends on what is mounted through PreResources or PostResources: exposure could range from limited static content disclosure to leakage of sensitive business data, internal application artifacts, or access to functionality assumed to be protected. The issue is not listed in CISA KEV and has a relatively low EPSS score, but because Tomcat is widely deployed and often internet-facing, externally exposed applications should still be prioritized for review and patching.

How an attack unfolds

An attacker first identifies an application served by an affected Apache Tomcat version and looks for URL structures that suggest additional resources are mounted into the web application through PreResources or PostResources. If those resources are mounted below a non-root path and the application relies on security constraints to protect the expected URL, the attacker probes alternate URL paths that Tomcat may resolve to the same underlying resource. When a matching alternate path is found, the request bypasses the security rule that would normally apply to the expected path, allowing the attacker to retrieve the resource or interact with it without the intended authentication or authorization checks. Named exploitation context was provided for MadeYouReset, but no mature public exploit or CISA KEV confirmation is indicated in the supplied data; defenders should still treat suspicious unauthenticated access to protected Tomcat resource paths as potentially relevant.

How to fix it

Upgrade Apache Tomcat to a fixed release: 11.0.8 or later for the 11.x line, 10.1.42 or later for the 10.1.x line, and 9.0.106 or later for the 9.0.x line. Rebuild and redeploy container images, application bundles, and embedded Tomcat distributions so the runtime actually uses the fixed version. Review applications using PreResources or PostResources mounted anywhere other than the web application root and verify that all reachable URL variants are protected by equivalent security constraints. As a temporary mitigation where immediate upgrade is not possible, restrict external access to affected applications, add reverse-proxy or WAF rules for known unintended alternate paths once identified, and avoid relying on a single expected URL pattern to protect mounted resources. Vendor/package fixed versions provided in the input should also be consumed where applicable, including apache/tomcat fixed in commit 05ccf0c3e22d388f0cf853e32485d8249d051f2f and the listed Mageia package updates: kdebase4-runtime 4.12.5-1.2.mga4, kdebase4-runtime 4.10.5-1.2.mga3, kwebkitpart 1.3.2-1.1.mga3, and kwebkitpart 1.3.2-3.1.mga4.

How to confirm the fix worked

Confirm the deployed Tomcat version from runtime banners, package inventory, container image manifests, build files, or startup logs and verify it is at least 11.0.8, 10.1.42, or 9.0.106 depending on the branch in use. Do not rely only on source repository updates; validate the running process and deployed artifact. Review each web application’s context configuration for PreResources and PostResources mounted outside the root path, then test both the intended protected path and possible alternate resolved paths while unauthenticated. A successful fix should return the same authorization decision for all equivalent paths, such as 401, 403, or a redirect to login, rather than serving the resource through an alternate path. Regression tests should be added for mounted resource paths and security-constraint coverage.

Typical attack path

  1. Identify internet-facing or reachable applications running vulnerable Apache Tomcat versions.
  2. Fingerprint the application structure and look for mounted resources, static assets, or paths that appear protected under normal routing.
  3. Probe alternate URL paths that may resolve to the same PreResources or PostResources content but do not match the configured security constraint.
  4. Request protected resources without credentials or with a low-privileged session.
  5. Use any exposed content, metadata, configuration, or application functionality for data theft, account targeting, or additional exploitation.

How to detect it

To determine whether this was already exploited, review web server, reverse proxy, load balancer, WAF, and Tomcat access logs for unauthenticated or low-privileged requests that returned successful responses for resources normally requiring authentication. Focus on applications with PreResources or PostResources configured outside the web application root, and compare requests to the expected protected path against requests for unusual path variants, duplicate path segments, encoded characters, normalization edge cases, or unexpected prefixes that resolve to the same content. Useful log fields include source IP, authenticated username or session identifier, request URI, status code, response size, referrer, user agent, and upstream application route. Investigate 200/206/304 responses where the same resource is later or normally accessed only after login, especially if there is no associated authenticated session. Correlate suspicious access with application logs showing missing principals, anonymous sessions, authorization-filter bypasses, or unusual static-resource serving. If suspicious access is found, preserve the relevant access logs, application logs, deployed context configuration, web.xml security constraints, and the exact vulnerable application artifact for scoping. There are no universal exploit strings because the alternate path depends on each application’s resource configuration.

What your security team should do

  • Inventory all Apache Tomcat deployments, including embedded Tomcat in vendor applications, containers, CI-built application images, and developer-managed services.
  • Prioritize patching internet-facing Tomcat applications and any application that uses PreResources or PostResources mounted below a non-root path.
  • Upgrade to Tomcat 11.0.8, 10.1.42, or 9.0.106 or later, then redeploy and restart affected services.
  • Review web.xml and context resource configuration to ensure authorization controls cover every reachable path to mounted resources.
  • Search historical access logs for unauthenticated 200 responses to paths that should require authentication, especially around mounted resource locations.
  • If exploitation is suspected, determine exactly what resources were exposed and assess whether credentials, tokens, configuration files, proprietary code, or sensitive records were accessed.
  • Add automated security tests that verify protected resources cannot be reached through alternate paths.
  • Monitor threat intelligence for any change in exploit maturity, including public proof-of-concept availability or confirmed exploitation activity associated with MadeYouReset or other campaigns.

The record

Authentication Bypass Using an Alternate Path or Channel vulnerability in Apache Tomcat.  When using PreResources or PostResources mounted other than at the root of the web application, it was possible to access those resources via an unexpected path. That path was likely not to be protected by the same security constraints as the expected path, allowing those security constraints to be bypassed. This issue affects Apache Tomcat: from 11.0.0-M1 through 11.0.7, from 10.1.0-M1 through 10.1.41, from 9.0.0.M1 through 9.0.105. Users are recommended to upgrade to version 11.0.8, 10.1.42 or 9.0.106, which fix the issue.

Affected packages

Ecosystem Package Introduced Fixed
Maven org.apache.tomcat.embed:tomcat-embed-core 10.1.0-M1 10.1.42
Maven org.apache.tomcat.embed:tomcat-embed-core 11.0.0-M1 11.0.8
Maven org.apache.tomcat.embed:tomcat-embed-core 8.5.0 No fix
Maven org.apache.tomcat.embed:tomcat-embed-core 9.0.0.M1 9.0.106
Maven org.apache.tomcat:tomcat-catalina 10.1.0-M1 10.1.42
Maven org.apache.tomcat:tomcat-catalina 11.0.0-M1 11.0.8
Maven org.apache.tomcat:tomcat-catalina 8.5.0 No fix
Maven org.apache.tomcat:tomcat-catalina 9.0.0.M1 9.0.106
AlmaLinux:10 tomcat9 0 1:9.0.87-5.el10_0.3
AlmaLinux:10 tomcat9-admin-webapps 0 1:9.0.87-5.el10_0.3
AlmaLinux:10 tomcat9-docs-webapp 0 1:9.0.87-5.el10_0.3
AlmaLinux:10 tomcat9-el-3.0-api 0 1:9.0.87-5.el10_0.3
AlmaLinux:10 tomcat9-jsp-2.3-api 0 1:9.0.87-5.el10_0.3
AlmaLinux:10 tomcat9-lib 0 1:9.0.87-5.el10_0.3
AlmaLinux:10 tomcat9-servlet-4.0-api 0 1:9.0.87-5.el10_0.3
AlmaLinux:10 tomcat9-webapps 0 1:9.0.87-5.el10_0.3
AlmaLinux:8 tomcat 0 1:9.0.87-1.el8_10.6
AlmaLinux:8 tomcat-admin-webapps 0 1:9.0.87-1.el8_10.6
AlmaLinux:8 tomcat-docs-webapp 0 1:9.0.87-1.el8_10.6
AlmaLinux:8 tomcat-el-3.0-api 0 1:9.0.87-1.el8_10.6
AlmaLinux:8 tomcat-jsp-2.3-api 0 1:9.0.87-1.el8_10.6
AlmaLinux:8 tomcat-lib 0 1:9.0.87-1.el8_10.6
AlmaLinux:8 tomcat-servlet-4.0-api 0 1:9.0.87-1.el8_10.6
AlmaLinux:8 tomcat-webapps 0 1:9.0.87-1.el8_10.6
AlmaLinux:9 tomcat 0 1:9.0.87-3.el9_6.3
AlmaLinux:9 tomcat-admin-webapps 0 1:9.0.87-3.el9_6.3
AlmaLinux:9 tomcat-docs-webapp 0 1:9.0.87-3.el9_6.3
AlmaLinux:9 tomcat-el-3.0-api 0 1:9.0.87-3.el9_6.3
AlmaLinux:9 tomcat-jsp-2.3-api 0 1:9.0.87-3.el9_6.3
AlmaLinux:9 tomcat-lib 0 1:9.0.87-3.el9_6.3
AlmaLinux:9 tomcat-servlet-4.0-api 0 1:9.0.87-3.el9_6.3
AlmaLinux:9 tomcat-webapps 0 1:9.0.87-3.el9_6.3
Bitnami tomcat 0 9.0.106
Bitnami tomcat 9.0.0 9.0.106
Chainguard camunda-zeebe-8.6 0 8.6.18-r2
Chainguard camunda-zeebe-8.6-compat 0 8.6.18-r2
Chainguard thingsboard 0 4.0.1-r8
Chainguard thingsboard-tb-js-executor 0 4.0.1-r8
Chainguard thingsboard-tb-mqtt-transport 0 4.0.1-r8
Chainguard thingsboard-tb-node 0 4.0.1-r8
Chainguard thingsboard-tb-web-ui 0 4.0.1-r8
Debian:11 tomcat9 0 No fix
Debian:12 tomcat10 0 No fix
Debian:12 tomcat9 0 9.0.70-2
Debian:13 tomcat10 0 No fix
Debian:13 tomcat11 0 No fix
Debian:13 tomcat9 0 9.0.70-2
Mageia:9 tomcat 0 9.0.106-1.mga9
SUSE:Enterprise Storage 7.1 tomcat 0 9.0.106-150200.86.1
SUSE:Enterprise Storage 7.1 tomcat 0 9.0.108-150200.91.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS tomcat 0 9.0.106-150200.86.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS tomcat 0 9.0.108-150200.91.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS tomcat 0 9.0.106-150200.86.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS tomcat 0 9.0.108-150200.91.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS tomcat 0 9.0.106-150200.86.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS tomcat 0 9.0.108-150200.91.1
SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS tomcat 0 9.0.106-150200.86.1
SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS tomcat 0 9.0.108-150200.91.1
SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS tomcat10 0 10.1.42-150200.5.45.1
SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS tomcat10 0 10.1.43-150200.5.48.1
SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS tomcat 0 9.0.106-150200.86.1
SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS tomcat 0 9.0.108-150200.91.1
SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS tomcat10 0 10.1.42-150200.5.45.1
SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS tomcat10 0 10.1.43-150200.5.48.1
SUSE:Linux Enterprise Module for Web and Scripting 15 SP6 tomcat 0 9.0.106-150200.86.1
SUSE:Linux Enterprise Module for Web and Scripting 15 SP6 tomcat 0 9.0.108-150200.91.1
SUSE:Linux Enterprise Module for Web and Scripting 15 SP6 tomcat10 0 10.1.42-150200.5.45.1
SUSE:Linux Enterprise Module for Web and Scripting 15 SP6 tomcat10 0 10.1.43-150200.5.48.1
SUSE:Linux Enterprise Module for Web and Scripting 15 SP6 tomcat11 0 11.0.9-150600.13.6.1
SUSE:Linux Enterprise Module for Web and Scripting 15 SP7 tomcat 0 9.0.106-150200.86.1
SUSE:Linux Enterprise Module for Web and Scripting 15 SP7 tomcat 0 9.0.108-150200.91.1
SUSE:Linux Enterprise Module for Web and Scripting 15 SP7 tomcat10 0 10.1.42-150200.5.45.1
SUSE:Linux Enterprise Module for Web and Scripting 15 SP7 tomcat10 0 10.1.43-150200.5.48.1
SUSE:Linux Enterprise Module for Web and Scripting 15 SP7 tomcat11 0 11.0.9-150600.13.6.1
SUSE:Linux Enterprise Server 12 SP5-LTSS tomcat 0 9.0.36-3.145.1
SUSE:Linux Enterprise Server 15 SP3-LTSS tomcat 0 9.0.106-150200.86.1
SUSE:Linux Enterprise Server 15 SP3-LTSS tomcat 0 9.0.108-150200.91.1
SUSE:Linux Enterprise Server 15 SP4-LTSS tomcat 0 9.0.106-150200.86.1
SUSE:Linux Enterprise Server 15 SP4-LTSS tomcat 0 9.0.108-150200.91.1
SUSE:Linux Enterprise Server 15 SP5-LTSS tomcat 0 9.0.106-150200.86.1
SUSE:Linux Enterprise Server 15 SP5-LTSS tomcat 0 9.0.108-150200.91.1
SUSE:Linux Enterprise Server 15 SP5-LTSS tomcat10 0 10.1.42-150200.5.45.1
SUSE:Linux Enterprise Server 15 SP5-LTSS tomcat10 0 10.1.43-150200.5.48.1
SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5 tomcat 0 9.0.36-3.145.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP3 tomcat 0 9.0.106-150200.86.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP3 tomcat 0 9.0.108-150200.91.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP4 tomcat 0 9.0.106-150200.86.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP4 tomcat 0 9.0.108-150200.91.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP5 tomcat 0 9.0.106-150200.86.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP5 tomcat 0 9.0.108-150200.91.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP5 tomcat10 0 10.1.42-150200.5.45.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP5 tomcat10 0 10.1.43-150200.5.48.1
SUSE:Manager Server 4.3 tomcat 0 9.0.106-150200.86.1
SUSE:Manager Server LTS 4.3 tomcat 0 9.0.108-150200.91.1
Wolfi thingsboard 0 4.0.1-r8
Wolfi thingsboard-tb-js-executor 0 4.0.1-r8
Wolfi thingsboard-tb-mqtt-transport 0 4.0.1-r8
Wolfi thingsboard-tb-node 0 4.0.1-r8
Wolfi thingsboard-tb-web-ui 0 4.0.1-r8
maven org.apache.tomcat.embed/tomcat-embed-core 10.1.0-M1 10.1.42
maven org.apache.tomcat.embed/tomcat-embed-core 11.0.0-M1 11.0.8
maven org.apache.tomcat.embed/tomcat-embed-core 8.5.0 No fix
maven org.apache.tomcat.embed/tomcat-embed-core 9.0.0.M1 9.0.106
maven org.apache.tomcat/tomcat-catalina 10.1.0-M1 10.1.42
maven org.apache.tomcat/tomcat-catalina 11.0.0-M1 11.0.8
maven org.apache.tomcat/tomcat-catalina 8.5.0 No fix
maven org.apache.tomcat/tomcat-catalina 9.0.0.M1 9.0.106
openSUSE:Leap 15.6 tomcat 0 9.0.106-150200.86.1
openSUSE:Leap 15.6 tomcat 0 9.0.108-150200.91.1
openSUSE:Leap 15.6 tomcat10 0 10.1.42-150200.5.45.1
openSUSE:Leap 15.6 tomcat10 0 10.1.43-150200.5.48.1
openSUSE:Leap 15.6 tomcat11 0 11.0.9-150600.13.6.1
openSUSE:Tumbleweed tomcat 0 9.0.106-1.1
openSUSE:Tumbleweed tomcat10 0 10.1.42-1.1
openSUSE:Tumbleweed tomcat11 0 11.0.8-1.1

Related vulnerabilities