CVE-2024-54283
Executive Summary
CVE-2024-54283 is a critical SQL Injection vulnerability in the SeedProd Pro WordPress plugin (versions prior to 6.18.13). This flaw allows an unauthenticated attacker to inject arbitrary SQL commands into the database, potentially leading to data exfiltration, credential theft, or complete site compromise. The vulnerability resides in the improper neutralization of special elements used in an SQL command, specifically within the seedprod-coming-soon-pro component. Given the CVSS score of 7.6 and the lack of a public proof-of-concept (PoC) or exploit code, the immediate risk is elevated for unpatched installations. As this is a WordPress plugin, the attack surface is broad, affecting thousands of sites using SeedProd Pro for coming-soon or maintenance mode pages.
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 commercial WordPress plugin distributed via the SeedProd vendor's own update channel, not a public package registry like NPM or PyPI. However, the supply chain risk is significant: if the plugin's update mechanism is compromised or if users download from untrusted sources, malicious versions could be distributed. Administrators should verify the integrity of plugin files via checksums provided by the vendor and ensure updates are only applied from the official SeedProd source.
CVSS Breakdown & Threat Level
- Attack Vector (AV): Network (N) – Exploitable remotely.
- Attack Complexity (AC): Low (L) – No special conditions required.
- Privileges Required (PR): None (N) – No authentication needed.
- User Interaction (UI): None (N) – No user action required.
- Scope (S): Unchanged (U) – The vulnerable component remains the same.
- Confidentiality (C): High (H) – Full database read access possible.
- Integrity (I): High (H) – Data can be modified or deleted.
- Availability (A): High (H) – Database can be disrupted or destroyed.
Threat Level: High. The combination of network exploitability, no authentication, and high impact makes this a priority for patching.
Deep Dive & Mechanics
The vulnerability exists in the seedprod-coming-soon-pro component of the SeedProd Pro plugin. The plugin likely processes user-supplied input (e.g., via HTTP GET/POST parameters) without proper sanitization before incorporating it into SQL queries. For example, a parameter used to fetch settings or page data might be directly concatenated into a SQL statement.
Root Cause: The application fails to use prepared statements or parameterized queries. Instead, it constructs SQL queries by directly embedding user input, allowing an attacker to break out of the intended SQL syntax.
Attack Vector: An unauthenticated attacker sends a crafted HTTP request to a vulnerable endpoint (e.g., /wp-admin/admin-ajax.php or a custom REST route) with malicious SQL payloads in parameters such as id, page, or action.
Impact: Successful exploitation can lead to:
- Extraction of the WordPress database, including user credentials (hashed passwords), posts, and options.
- Insertion of malicious admin users.
- Modification of site content or settings.
- Potential lateral movement to the underlying server if database credentials are reused.
Vulnerable vs. Patched Code
The exact vulnerable code is not publicly disclosed, but based on the CWE-89 pattern, the vulnerable version likely contains code similar to:
// Vulnerable code (pre-6.18.13)
$id = $_GET['id'];
$result = $wpdb->get_results("SELECT * FROM {$wpdb->prefix}seedprod_pages WHERE id = $id");
The patched version (6.18.13) would use parameterized queries:
// Patched code (6.18.13+)
$id = intval($_GET['id']);
$result = $wpdb->get_results($wpdb->prepare("SELECT * FROM {$wpdb->prefix}seedprod_pages WHERE id = %d", $id));
The key difference is the use of $wpdb->prepare() or intval() to ensure the input is treated as data, not executable SQL.
Exploitation & Lab Setup
Red Team (Offensive)
Lab Setup:
- Install WordPress with SeedProd Pro version 6.18.12 (vulnerable).
- Ensure the plugin is activated and a coming-soon page is published.
- Identify the vulnerable endpoint (e.g., via fuzzing or source code review).
Exploitation Steps:
- Craft a malicious HTTP request targeting the vulnerable parameter. Example using
curl:curl -v "http://target.com/wp-admin/admin-ajax.php?action=seedprod_pro_get_page&id=1 UNION SELECT user_login,user_pass FROM wp_users--" - If successful, the response will include user credentials from the
wp_userstable. - Extract hashed passwords and crack them offline using tools like Hashcat.
Note: No public exploit code is available; this is a hypothetical exploitation scenario based on the vulnerability type.
Blue Team (Defensive)
Detection Steps:
- Monitor web server logs for unusual SQL keywords in request parameters (e.g.,
UNION,SELECT,OR 1=1). - Deploy a Web Application Firewall (WAF) with rules to block SQL injection patterns.
- Use database activity monitoring to detect anomalous queries.
Honeypot Strategy:
- Set up a decoy WordPress instance with the vulnerable plugin to capture attacker techniques.
Indicators of Compromise (IOCs)
- Network IOCs:
- HTTP requests containing SQL keywords in parameters (e.g.,
id=1 UNION SELECT). - Unusual database error messages in HTTP responses (e.g., "You have an error in your SQL syntax").
- HTTP requests containing SQL keywords in parameters (e.g.,
- File IOCs:
- Modified plugin files (e.g.,
seedprod-coming-soon-pro.php) with injected backdoors. - Unexpected files in the
wp-content/uploads/directory.
- Modified plugin files (e.g.,
- Database IOCs:
- New admin users with suspicious usernames.
- Unauthorized changes to
wp_optionstable (e.g.,siteurloradmin_email). - Presence of
SELECT ... INTO OUTFILEqueries in logs.
Detection Engineering
YARA Rule
rule CVE_2024_54283_SeedProd_SQLi {
meta:
description = "Detects SQL injection attempts targeting SeedProd Pro plugin"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2024-54283"
strings:
$sqli1 = /seedprod.*(?:UNION|SELECT|INSERT|UPDATE|DELETE|DROP|OR\s+\d+=\d+)/i
$sqli2 = /action=seedprod.*(?:'.*--|%27.*--)/i
condition:
any of them
}
Sigma Rule
title: CVE-2024-54283 SeedProd Pro SQL Injection Attempt
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects SQL injection attempts against SeedProd Pro plugin
author: Valters IT
logsource:
category: webserver
product: apache
detection:
selection:
cs-method: 'GET'
cs-uri-query|contains:
- 'action=seedprod'
- 'id='
cs-uri-query|re: '(UNION|SELECT|INSERT|UPDATE|DELETE|DROP|OR\s+\d+=\d+)'
condition: selection
falsepositives:
- Legitimate use of SQL keywords in non-malicious contexts (rare)
level: high
Suricata Rule
alert http any any -> any any (msg:"CVE-2024-54283 SeedProd Pro SQL Injection Attempt"; flow:to_server,established; content:"action=seedprod"; http_uri; pcre:"/(UNION|SELECT|INSERT|UPDATE|DELETE|DROP|OR\s+\d+=\d+)/i"; classtype:web-application-attack; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Update the plugin to version 6.18.13 or later via the WordPress admin dashboard or by downloading from the official SeedProd site.
- If immediate update is not possible, disable the plugin until patched.
- Review database logs for any signs of exploitation (e.g., unexpected queries, new admin users).
Long-term Mitigations:
- Implement a Web Application Firewall (WAF) with SQL injection rules.
- Enforce the principle of least privilege for database users.
- Regularly audit WordPress plugins for vulnerabilities.
- Use a security plugin (e.g., Wordfence) to monitor file changes and block malicious requests.
Patch Verification:
- After updating, verify the plugin version in
wp-content/plugins/seedprod-coming-soon-pro/readme.txtor via the plugin list in the admin panel.
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.