The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1.3.7 via the /includes/backup-heart.php file. This is due to an attacker being able to control the values passed to an include, and subsequently leverage that to achieve remote code execution. This makes it possible for unauthenticated threat actors to easily execute code on the server.
PoC代码[已公开]
id: CVE-2023-6553
info:
name: Worpress Backup Migration <= 1.3.7 - Unauthenticated Remote Code Execution
author: FLX
severity: critical
description: |
The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1.3.7 via the /includes/backup-heart.php file. This is due to an attacker being able to control the values passed to an include, and subsequently leverage that to achieve remote code execution. This makes it possible for unauthenticated threat actors to easily execute code on the server.
reference:
- https://www.wordfence.com/blog/2023/12/critical-unauthenticated-remote-code-execution-found-in-backup-migration-plugin/
- https://github.com/Chocapikk/CVE-2023-6553
- http://packetstormsecurity.com/files/176638/WordPress-Backup-Migration-1.3.7-Remote-Command-Execution.html
- https://www.synacktiv.com/en/publications/php-filters-chain-what-is-it-and-how-to-use-it
- https://www.wordfence.com/threat-intel/vulnerabilities/id/3511ba64-56a3-43d7-8ab8-c6e40e3b686e?source=cve
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-2023-6553
epss-score: 0.93142
epss-percentile: 0.99786
cpe: cpe:2.3:a:backupbliss:backup_migration:*:*:*:*:*:wordpress:*:*
metadata:
max-request: 2
vendor: backupbliss
product: backup_migration
framework: wordpress
shodan-query: http.html:/wp-content/plugins/backup-backup/
fofa-query: body=/wp-content/plugins/backup-backup/
publicwww-query: /wp-content/plugins/backup-backup/
google-query: inurl:"/wp-content/plugins/backup-backup/"
tags: packetstorm,cve,cve2023,wp-plugin,rce,unauth,wordpress,wp,backupbliss,vkev
flow: http(1) && http(2)
http:
- method: GET
path:
- "{{BaseURL}}/wp-content/plugins/backup-backup/readme.txt"
matchers:
- type: dsl
internal: true
dsl:
- 'status_code == 200'
- 'contains(body, "Backup Migration")'
condition: and
- method: POST
path:
- "{{BaseURL}}/wp-content/plugins/backup-backup/includes/backup-heart.php"
headers:
Content-Dir: "{{rand_text_alpha(10)}}"
matchers:
- type: dsl
dsl:
- 'len(body) == 0'
- 'status_code == 200'
- '!contains(body, "Incorrect parameters")'
condition: and
# digest: 490a004630440220423e1a8e2ef6247488562bcf4878b8ea49bc7d74216efe868adaddd6419c279402202a3927a238743044f939db22835368f5397326640ce58f8b984c8af4c465fbd2:922c64590222798bb761d5b6d8e72950