CVE-2024-7766
Executive Summary
CVE-2024-7766 is a critical SQL Injection vulnerability discovered in the Adicon Server WordPress plugin (versions through 1.2). This plugin, designed for server management within the WordPress ecosystem, fails to sanitize and escape a user-supplied parameter before incorporating it into a SQL query. An authenticated administrator can exploit this flaw to execute arbitrary SQL commands, potentially leading to complete database compromise, data exfiltration, or privilege escalation. The vulnerability is currently unpatched, and no public proof-of-concept (PoC) code has been released. The EPSS score is 0.0%, indicating low exploitation activity in the wild, but the risk remains high due to the potential impact.
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, which is part of the broader WordPress ecosystem. Since the plugin is distributed through the WordPress plugin repository or third-party sources, any site using the Adicon Server plugin version 1.2 or earlier is at risk. Administrators should verify the plugin's source and consider removing it until a patch is available.
CVSS Breakdown & Threat Level
- CVSS Score: 8.8 (High)
- Vector: CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
- Attack Vector: Network (AV:N) – The vulnerability can be exploited remotely.
- Attack Complexity: Low (AC:L) – No special conditions are required.
- Privileges Required: High (PR:H) – An administrator-level account is needed.
- User Interaction: None (UI:N) – No user action is required.
- Scope: Unchanged (S:U) – The exploit cannot affect other components.
- Confidentiality Impact: High (C:H) – Full database read access.
- Integrity Impact: High (I:H) – Full database write access.
- Availability Impact: High (A:H) – Potential for denial of service.
Threat Level: High. Although the EPSS score is low, the impact is severe, and the vulnerability is unpatched.
Deep Dive & Mechanics
The vulnerability resides in the Adicon Server plugin's handling of a specific parameter (likely id or similar) within an admin-facing function. The plugin does not use prepared statements or parameterized queries, nor does it sanitize the input. Instead, it directly concatenates the user-supplied value into a SQL query string.
Example vulnerable code snippet (conceptual):
$id = $_GET['id'];
$query = "SELECT * FROM wp_options WHERE option_id = $id";
$result = $wpdb->get_results($query);
An attacker with admin privileges can inject SQL commands by providing a malicious value for the id parameter, such as:
1 UNION SELECT user_login, user_pass FROM wp_users
This would return the usernames and password hashes of all WordPress users, potentially leading to full site compromise.
Vulnerable vs. Patched Code
Vulnerable Code (version 1.2):
function adicon_get_option() {
$id = $_GET['option_id'];
$query = "SELECT * FROM wp_options WHERE option_id = $id";
$result = $wpdb->get_results($query);
return $result;
}
Patched Code (hypothetical):
function adicon_get_option() {
$id = intval($_GET['option_id']);
$query = $wpdb->prepare("SELECT * FROM wp_options WHERE option_id = %d", $id);
$result = $wpdb->get_results($query);
return $result;
}
The patched version uses intval() to ensure the input is an integer and $wpdb->prepare() to safely parameterize the query, preventing SQL injection.
Exploitation & Lab Setup
Red Team (Offensive)
Prerequisites:
- A WordPress site with the Adicon Server plugin version 1.2 installed.
- Administrator credentials (e.g.,
admin:password).
Exploitation Steps:
- Log in to the WordPress admin panel.
- Navigate to the vulnerable endpoint (e.g.,
/wp-admin/admin-ajax.php?action=adicon_get_option&option_id=1). - Inject SQL payloads to extract data. Example:
GET /wp-admin/admin-ajax.php?action=adicon_get_option&option_id=1 UNION SELECT user_login,user_pass,user_email FROM wp_users - Use tools like
sqlmapfor automated exploitation:sqlmap -u "http://target.com/wp-admin/admin-ajax.php?action=adicon_get_option&option_id=1" --cookie="wordpress_logged_in_xxx=..." --batch --dump
Note: No public exploit code is available, so manual testing is required.
Blue Team (Defensive)
Detection:
- Monitor for unusual SQL queries in database logs.
- Look for admin users accessing the plugin's AJAX endpoints with suspicious parameters.
- Use WAF rules to block SQL injection patterns.
Honeypot Setup:
- Deploy a fake WordPress instance with the vulnerable plugin to capture attacker behavior.
Indicators of Compromise (IOCs)
- Network:
- HTTP requests to
/wp-admin/admin-ajax.phpwithaction=adicon_get_optionand suspiciousoption_idvalues (e.g., containingUNION,SELECT,OR 1=1).
- HTTP requests to
- File:
- Modified WordPress database entries (e.g., new admin users).
- Logs:
- Database error logs showing SQL syntax errors.
- Web server access logs with unusual query strings.
Detection Engineering
YARA Rule
rule CVE_2024_7766_Adicon_SQLi {
meta:
description = "Detects SQL injection attempts against Adicon Server plugin"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2024-7766"
strings:
$s1 = "adicon_get_option" ascii wide nocase
$s2 = "option_id" ascii wide nocase
$s3 = "UNION" ascii wide nocase
$s4 = "SELECT" ascii wide nocase
$s5 = "OR 1=1" ascii wide nocase
condition:
all of ($s1, $s2) and 1 of ($s3, $s4, $s5)
}
Sigma Rule
title: SQL Injection Attempt Against Adicon Server Plugin
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects SQL injection attempts targeting the Adicon Server WordPress plugin
author: Valters IT
date: 2025-04-10
logsource:
category: webserver
product: apache
detection:
selection:
cs-method: 'GET'
cs-uri-query|contains:
- 'action=adicon_get_option'
- 'option_id='
condition: selection
falsepositives:
- Legitimate admin usage with numeric IDs
level: high
Suricata Rule
alert http any any -> any any (msg:"CVE-2024-7766 Adicon Server SQL Injection Attempt"; flow:to_server,established; content:"GET"; http_method; content:"/wp-admin/admin-ajax.php"; http_uri; content:"action=adicon_get_option"; http_uri; content:"option_id="; http_uri; pcre:"/option_id=[^0-9]/Ri"; classtype:web-application-attack; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Disable the plugin until a patch is released.
- Restrict admin access to trusted IPs only.
- Implement a Web Application Firewall (WAF) with rules to block SQL injection patterns.
Long-term Fix:
- The vendor must release a patched version that uses prepared statements and input validation.
- Consider replacing the plugin with a more secure alternative.
Workaround:
- If the plugin is critical, manually patch the vulnerable code by adding
intval()and$wpdb->prepare()as shown in the patched code section.
Report generated by Valters IT DevSecOps & CTI Division
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.