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. impact: | Unauthenticated attackers can leverage file inclusion via backup-heart.php to achieve arbitrary code execution, potentially compromising the entire WordPress site and server. remediation: | Upgrade Backup Migration plugin to version 1.3.8 or later. 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.97846 epss-percentile: 0.99899 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,vuln 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: 4b0a0048304602210082b158ee37cb9adadfd83b57a1d840385f096e2f5f7c8ff50e5d729a2b3c1788022100f20e1f1a71d300d76c1808f577d116f0e322638236e510bbca663f2aa2c1e312:922c64590222798bb761d5b6d8e72950