CVE-2024-1018
Executive Summary
CVE-2024-1018 is a Stored Cross-Site Scripting (XSS) vulnerability identified in PbootCMS version 3.2.5-20230421. The flaw resides in the /admin.php?p=/Area/index#tab=t2 endpoint, where the name parameter is insufficiently sanitized, allowing an authenticated administrator to inject arbitrary JavaScript. While the CVSS score is low (2.4) due to high privileges and user interaction requirements, the public availability of exploit details increases the risk for targeted attacks against PbootCMS installations. No official patch has been released, making this a persistent threat for unhardened 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 vulnerability is not related to any NPM, PyPI, Go, or Ruby package. It is a standalone PHP CMS application. The risk is limited to direct exploitation of the PbootCMS web interface.
CVSS Breakdown & Threat Level
- CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:N/I:L/A:N
- Base Score: 2.4 (Low)
- Attack Vector (AV): Network (N) – Exploitable remotely.
- Attack Complexity (AC): Low (L) – No special conditions required.
- Privileges Required (PR): High (H) – Requires admin authentication.
- User Interaction (UI): Required (R) – Victim must click the crafted link or view the injected content.
- Scope (S): Unchanged (U) – The vulnerability does not affect other components.
- Confidentiality (C): None (N) – No direct data theft.
- Integrity (I): Low (L) – Attacker can modify content via XSS.
- Availability (A): None (N) – No denial of service.
Threat Level: Low. The requirement for admin privileges and user interaction significantly reduces the attack surface. However, the public PoC and lack of a patch make it a viable vector for social engineering or lateral movement within a compromised admin session.
Deep Dive & Mechanics
The vulnerability is a classic Stored XSS in the PbootCMS admin panel. The /admin.php?p=/Area/index#tab=t2 endpoint is used to manage area/region data. The name parameter is directly reflected or stored without proper encoding, allowing an attacker to inject HTML/JavaScript.
Attack Flow:
- An authenticated admin navigates to the vulnerable endpoint.
- The attacker (who may be the admin or a session hijacker) submits a POST request with a malicious payload in the
nameparameter, e.g.,<script>alert('XSS')</script>. - The payload is stored in the database and rendered without sanitization when the page is loaded.
- Any user (including other admins) viewing the affected area list will execute the injected script.
Root Cause: Lack of output encoding or input validation on the name parameter. The application likely uses echo $_POST['name'] or similar without htmlspecialchars() or equivalent.
Vulnerable vs. Patched Code
Since no official patch exists, the following is a hypothetical fix.
Vulnerable Code (PHP):
// Vulnerable: Direct output without sanitization
$name = $_POST['name'];
echo "<td>$name</td>";
Patched Code (PHP):
// Patched: Use htmlspecialchars to escape HTML
$name = htmlspecialchars($_POST['name'], ENT_QUOTES, 'UTF-8');
echo "<td>$name</td>";
Exploitation & Lab Setup
Red Team (Exploitation)
Prerequisites:
- Valid admin credentials for PbootCMS.
- Access to the
/admin.php?p=/Area/index#tab=t2endpoint.
Exploit Steps:
- Log in to the PbootCMS admin panel.
- Navigate to the Area management page.
- Intercept the POST request to add a new area (or modify an existing one).
- Inject the following payload into the
nameparameter:<script>alert(document.cookie)</script> - Submit the request. The script will execute when any admin views the area list.
Proof-of-Concept (cURL):
curl -X POST "http://target.com/admin.php?p=/Area/index#tab=t2" \
-d "name=<script>alert('XSS')</script>&submit=1" \
-b "PHPSESSID=your_admin_session_cookie"
Blue Team (Detection & Hardening)
Detection:
- Monitor web server logs for requests to
/admin.php?p=/Area/indexwith suspiciousnameparameters containing<script>,onerror, or other HTML event handlers. - Use WAF rules to block common XSS patterns in POST parameters.
Hardening:
- Apply input validation: whitelist allowed characters for the
namefield (e.g., alphanumeric and spaces only). - Implement Content Security Policy (CSP) headers to block inline scripts.
- Restrict admin panel access to trusted IPs only.
Indicators of Compromise (IOCs)
- Network:
- POST requests to
/admin.php?p=/Area/index#tab=t2withnameparameter containing<script>tags. - Outbound connections to attacker-controlled domains from the CMS server (if the XSS payload exfiltrates data).
- POST requests to
- File System:
- Modified database entries in the
ay_areatable (or similar) containing JavaScript payloads.
- Modified database entries in the
- Logs:
- Web server access logs showing
POST /admin.php?p=/Area/indexwithname=<script>.
- Web server access logs showing
Detection Engineering
YARA Rule
rule CVE_2024_1018_XSS_Payload {
meta:
description = "Detects XSS payloads targeting PbootCMS CVE-2024-1018"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2024-1018"
strings:
$xss1 = /<script[^>]*>.*<\/script>/i
$xss2 = /onerror\s*=\s*["']?[^"']*["']?/i
$xss3 = /onload\s*=\s*["']?[^"']*["']?/i
$param = "name="
condition:
any of ($xss*) and $param
}
Sigma Rule
title: PbootCMS CVE-2024-1018 XSS Attempt
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects XSS attempts against PbootCMS /admin.php?p=/Area/index endpoint
author: Valters IT
logsource:
category: webserver
product: apache
service: access_combined
detection:
selection:
cs-method: 'POST'
cs-uri-query|contains: '/admin.php?p=/Area/index'
cs-uri-query|contains: 'name='
keywords:
- '<script'
- 'onerror'
- 'onload'
- 'javascript:'
condition: selection and keywords
falsepositives:
- Legitimate admin input with HTML-like content (rare)
level: medium
Suricata Rule
alert http any any -> any any (
msg:"CVE-2024-1018 PbootCMS XSS Attempt";
flow:to_server,established;
content:"POST"; http_method;
content:"/admin.php?p=/Area/index"; http_uri;
content:"name="; http_client_body;
pcre:"/<script[^>]*>.*<\/script>/i";
classtype:web-application-attack;
sid:1000001;
rev:1;
)
Remediation & Mitigation
- Immediate Action: Disable the vulnerable endpoint or restrict access to the admin panel via IP whitelisting.
- Code Fix: Apply output encoding (
htmlspecialchars()) to all user-supplied data in thenameparameter. - WAF Rules: Deploy a Web Application Firewall (e.g., ModSecurity) with rules to block XSS payloads in POST parameters.
- User Training: Educate administrators about the risks of clicking untrusted links while logged into the admin panel.
- Monitor: Continuously monitor logs for exploitation attempts and anomalous admin behavior.
Valters IT – Securing your digital frontier.
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.