Cloudanix VulnDB

CVE-2023-41081

High · 7.5

CVSS

7.5

EPSS

1.6%

Published

Sep 13, 2023

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A misconfiguration in the way web requests are routed could let outsiders reach internal status pages or bypass access rules on certain Apache web-server setups.

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

What it actually does

mod_jk performs implicit request mapping to the first defined worker when JkOptions +ForwardDirectories is enabled without explicit mounts for all proxied paths, exposing the status worker or bypassing httpd security constraints.

Why it matters to the business

Attackers may obtain internal status information or reach resources that should be protected, increasing the chance of further compromise or data exposure in Apache HTTPD setups using mod_jk.

How an attack unfolds

An attacker sends HTTP requests to paths not covered by explicit worker mounts; mod_jk implicitly routes them to the first worker (commonly the status worker), bypassing configured access controls and revealing sensitive connector status or other proxied content.

How to fix it

Upgrade apache/tomcat-connectors to the version containing commit 3ad622409ae3335df9f353bef8ebc4d72a70fd6d (equivalent to 1.2.49). Replace all implicit mappings with explicit JkMount or JkUnMount directives and remove reliance on ForwardDirectories for security decisions.

How to confirm the fix worked

Confirm the installed mod_jk version is 1.2.49 or newer; audit httpd configuration for the absence of JkOptions +ForwardDirectories without corresponding explicit mounts for every possible path; test that requests to unmapped paths now return 404 or are explicitly denied rather than routed to the first worker.

Typical attack path

  1. Identify a Tomcat Connectors deployment using mod_jk with JkOptions +ForwardDirectories enabled
  2. Send requests to unmapped paths that trigger implicit routing
  3. Reach the status worker or other unintended backend resources
  4. Extract connector status details or access protected content

How to detect it

Search web-server access logs for requests that resolve to the status worker without an explicit mount entry; review mod_jk configuration files for the presence of JkOptions +ForwardDirectories combined with missing explicit JkMount directives; monitor for unexpected access to /jkstatus or similar status endpoints.

  • JkOptions +ForwardDirectories
  • jkstatus
  • mod_jk implicit mapping

What your security team should do

  • Upgrade mod_jk to 1.2.49 or the fixed commit immediately
  • Replace any JkOptions +ForwardDirectories usage with explicit mount rules
  • Review all worker definitions and ensure no status worker is reachable via implicit paths
  • Add configuration review to change-management processes for future mod_jk deployments

The record

Important: Authentication Bypass CVE-2023-41081 The mod_jk component of Apache Tomcat Connectors in some circumstances, such as when a configuration included "JkOptions +ForwardDirectories" but the configuration did not provide explicit mounts for all possible proxied requests, mod_jk would use an implicit mapping and map the request to the first defined worker. Such an implicit mapping could result in the unintended exposure of the status worker and/or bypass security constraints configured in httpd. As of JK 1.2.49, the implicit mapping functionality has been removed and all mappings must now be via explicit configuration. Only mod_jk is affected by this issue. The ISAPI redirector is not affected. This issue affects Apache Tomcat Connectors (mod_jk only): from 1.2.0 through 1.2.48. Users are recommended to upgrade to version 1.2.49, which fixes the issue. History 2023-09-13 Original advisory 2023-09-28 Updated summary

Affected packages

Ecosystem Package Introduced Fixed
AlmaLinux:9 mod_jk 0 1.2.49-1.el9_4
AlmaLinux:9 mod_proxy_cluster 0 1.3.20-1.el9_4
Debian:10 libapache-mod-jk 0 1:1.2.46-1+deb10u2
Debian:11 libapache-mod-jk 0 1:1.2.48-1+deb11u1
Debian:12 libapache-mod-jk 0 1:1.2.48-2+deb12u1
Debian:13 libapache-mod-jk 0 1:1.2.49-1
Debian:14 libapache-mod-jk 0 1:1.2.49-1
Mageia:9 apache-mod_jk 0 1.2.49-1.mga9
Red Hat:enterprise_linux:9::appstream mod_jk 0 0:1.2.49-1.el9_4
Red Hat:enterprise_linux:9::appstream mod_jk-debuginfo 0 0:1.2.49-1.el9_4
Red Hat:enterprise_linux:9::appstream mod_jk-debugsource 0 0:1.2.49-1.el9_4
Red Hat:enterprise_linux:9::appstream mod_proxy_cluster 0 0:1.3.20-1.el9_4
Red Hat:enterprise_linux:9::appstream mod_proxy_cluster-debuginfo 0 0:1.3.20-1.el9_4
Red Hat:enterprise_linux:9::appstream mod_proxy_cluster-debugsource 0 0:1.3.20-1.el9_4
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-curl 0 0:8.4.0-2.el7jbcs
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-curl-debuginfo 0 0:8.4.0-2.el7jbcs
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-libcurl 0 0:8.4.0-2.el7jbcs
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-libcurl-devel 0 0:8.4.0-2.el7jbcs
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-mod_http2 0 0:1.15.19-32.el7jbcs
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-mod_http2-debuginfo 0 0:1.15.19-32.el7jbcs
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-mod_jk 0 0:1.2.49-1.redhat_1.el7jbcs
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-mod_jk-ap24 0 0:1.2.49-1.redhat_1.el7jbcs
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-mod_jk-debuginfo 0 0:1.2.49-1.redhat_1.el7jbcs
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-openssl 0 1:1.1.1k-16.el7jbcs
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-openssl-debuginfo 0 1:1.1.1k-16.el7jbcs
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-openssl-devel 0 1:1.1.1k-16.el7jbcs
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-openssl-libs 0 1:1.1.1k-16.el7jbcs
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-openssl-perl 0 1:1.1.1k-16.el7jbcs
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-openssl-static 0 1:1.1.1k-16.el7jbcs
Red Hat:jboss_core_services:1::el8 jbcs-httpd24-curl 0 0:8.4.0-2.el8jbcs
Red Hat:jboss_core_services:1::el8 jbcs-httpd24-curl-debuginfo 0 0:8.4.0-2.el8jbcs
Red Hat:jboss_core_services:1::el8 jbcs-httpd24-libcurl 0 0:8.4.0-2.el8jbcs
Red Hat:jboss_core_services:1::el8 jbcs-httpd24-libcurl-debuginfo 0 0:8.4.0-2.el8jbcs
Red Hat:jboss_core_services:1::el8 jbcs-httpd24-libcurl-devel 0 0:8.4.0-2.el8jbcs
Red Hat:jboss_core_services:1::el8 jbcs-httpd24-mod_http2 0 0:1.15.19-32.el8jbcs
Red Hat:jboss_core_services:1::el8 jbcs-httpd24-mod_http2-debuginfo 0 0:1.15.19-32.el8jbcs
Red Hat:jboss_core_services:1::el8 jbcs-httpd24-mod_jk 0 0:1.2.49-1.redhat_1.el8jbcs
Red Hat:jboss_core_services:1::el8 jbcs-httpd24-mod_jk-ap24 0 0:1.2.49-1.redhat_1.el8jbcs
Red Hat:jboss_core_services:1::el8 jbcs-httpd24-mod_jk-ap24-debuginfo 0 0:1.2.49-1.redhat_1.el8jbcs
Red Hat:jboss_core_services:1::el8 jbcs-httpd24-openssl 0 1:1.1.1k-16.el8jbcs
Red Hat:jboss_core_services:1::el8 jbcs-httpd24-openssl-debuginfo 0 1:1.1.1k-16.el8jbcs
Red Hat:jboss_core_services:1::el8 jbcs-httpd24-openssl-devel 0 1:1.1.1k-16.el8jbcs
Red Hat:jboss_core_services:1::el8 jbcs-httpd24-openssl-libs 0 1:1.1.1k-16.el8jbcs
Red Hat:jboss_core_services:1::el8 jbcs-httpd24-openssl-libs-debuginfo 0 1:1.1.1k-16.el8jbcs
Red Hat:jboss_core_services:1::el8 jbcs-httpd24-openssl-perl 0 1:1.1.1k-16.el8jbcs
Red Hat:jboss_core_services:1::el8 jbcs-httpd24-openssl-static 0 1:1.1.1k-16.el8jbcs
SUSE:Linux Enterprise Module for Server Applications 15 SP6 apache2-mod_jk 0 1.2.50-150100.6.12.1
SUSE:Linux Enterprise Server 12 SP5 apache2-mod_jk 0 1.2.49-7.9.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP5 apache2-mod_jk 0 1.2.49-7.9.1
Ubuntu:20.04:LTS libapache-mod-jk 0 1:1.2.46-1ubuntu0.1
Ubuntu:22.04:LTS libapache-mod-jk 0 1:1.2.48-1ubuntu0.1
Ubuntu:23.10 libapache-mod-jk 0 1:1.2.48-2ubuntu0.1
Ubuntu:24.04:LTS libapache-mod-jk 0 1:1.2.49-1
Ubuntu:Pro:16.04:LTS libapache-mod-jk 0 1:1.2.41-1ubuntu0.1~esm1
Ubuntu:Pro:18.04:LTS libapache-mod-jk 0 1:1.2.43-1ubuntu0.1~esm1
openSUSE:Leap 15.6 apache2-mod_jk 0 1.2.50-150100.6.12.1

Related vulnerabilities