CVE-2023-44147
Executive Summary
CVE-2023-44147 is a Missing Authorization vulnerability in the Comment Blacklist Updater WordPress plugin, affecting versions up to and including 1.1.0. This flaw allows an unauthenticated attacker to exploit incorrectly configured access control security levels, potentially leading to unauthorized modification of comment blacklist settings. The vulnerability has a CVSS score of 5.3 (Medium) and an EPSS score of 0.0%, indicating low exploitation likelihood at this time. No public proof-of-concept or exploit code has been released, and no official patch is available from the vendor.
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 through the official WordPress plugin repository. As a WordPress ecosystem issue, it impacts site administrators who have installed the Comment Blacklist Updater plugin. The lack of a patch and unknown vendor status increases supply chain risk, as affected sites remain vulnerable indefinitely. Organizations should consider removing or replacing the plugin.
CVSS Breakdown & Threat Level
- CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
- Base Score: 5.3 (Medium)
- Attack Vector: Network
- Attack Complexity: Low
- Privileges Required: None
- User Interaction: None
- Scope: Unchanged
- Confidentiality Impact: None
- Integrity Impact: Low
- Availability Impact: None
The threat level is Medium due to the low complexity and no required privileges, but the impact is limited to integrity (modification of blacklist data) without affecting confidentiality or availability.
Deep Dive & Mechanics
The vulnerability resides in the Comment Blacklist Updater plugin's AJAX handlers or REST endpoints that fail to properly enforce authorization checks. Specifically, the plugin does not verify that the requesting user has administrative privileges before allowing modifications to the comment blacklist configuration. This allows any unauthenticated user to send crafted HTTP requests to update the blacklist, potentially adding or removing entries.
The missing authorization is a classic CWE-862: Missing Authorization flaw. The plugin likely registers WordPress AJAX actions without checking current_user_can() or similar capability checks. Attackers can exploit this by directly calling the vulnerable endpoint with malicious payloads.
Vulnerable vs. Patched Code
Since no official patch exists, the vulnerable code is presumed to be in the plugin's main PHP file (e.g., comment-blacklist-updater.php). A typical vulnerable pattern:
// Vulnerable: No capability check
add_action('wp_ajax_update_blacklist', 'update_blacklist_callback');
add_action('wp_ajax_nopriv_update_blacklist', 'update_blacklist_callback');
function update_blacklist_callback() {
// Process blacklist update without checking user permissions
update_option('blacklist_keys', $_POST['blacklist']);
wp_die();
}
A patched version would include:
// Patched: Check user capability
add_action('wp_ajax_update_blacklist', 'update_blacklist_callback');
function update_blacklist_callback() {
if (!current_user_can('manage_options')) {
wp_die('Unauthorized', 403);
}
// Process blacklist update
update_option('blacklist_keys', sanitize_text_field($_POST['blacklist']));
wp_die();
}
Exploitation & Lab Setup
Red Team
Prerequisites: A WordPress site with Comment Blacklist Updater <= 1.1.0 installed and active.
Exploitation Steps:
- Identify the vulnerable endpoint. Common patterns include
/wp-admin/admin-ajax.phpwith actionupdate_blacklistor similar. - Send a crafted POST request without authentication:
curl -X POST http://target/wp-admin/admin-ajax.php \
-d "action=update_blacklist&blacklist=evil-domain.com"
- Verify the blacklist was modified by checking the site's comment settings or attempting to post a comment containing the blacklisted term.
Note: No public exploit code is available; this is a theoretical exploitation based on the vulnerability description.
Blue Team
Detection & Prevention:
- Monitor for unauthorized AJAX requests to
admin-ajax.phpwith actions related to blacklist updates. - Implement Web Application Firewall (WAF) rules to block requests to
admin-ajax.phpfrom unauthenticated users unless explicitly whitelisted. - Use WordPress security plugins that enforce capability checks on all AJAX endpoints.
- Regularly audit installed plugins and remove those without active maintenance.
Indicators of Compromise (IOCs)
- Network: HTTP POST requests to
/wp-admin/admin-ajax.phpwith parameteraction=update_blacklistfrom unauthenticated sources. - File: Unexpected modifications to the
wp_optionstable, specifically theblacklist_keysoption. - Log: WordPress debug logs showing
wp_ajax_nopriv_*actions being called without authentication.
Detection Engineering
YARA Rule
rule CVE_2023_44147_Comment_Blacklist_Updater {
meta:
description = "Detects exploitation attempts for CVE-2023-44147 in Comment Blacklist Updater plugin"
author = "Valters IT"
date = "2025-04-10"
reference = "https://nvd.nist.gov/vuln/detail/CVE-2023-44147"
strings:
$ajax_action = "update_blacklist"
$nopriv = "wp_ajax_nopriv"
$blacklist_param = "blacklist"
condition:
all of them
}
Sigma Rule
title: CVE-2023-44147 Comment Blacklist Updater Exploitation
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects unauthorized AJAX requests targeting the Comment Blacklist Updater plugin
author: Valters IT
date: 2025-04-10
logsource:
category: webserver
product: apache
detection:
selection:
cs-method: 'POST'
cs-uri-query|contains: 'admin-ajax.php'
cs-uri-query|contains: 'action=update_blacklist'
condition: selection
falsepositives:
- Legitimate admin actions (rare)
level: high
Suricata Rule
alert http any any -> any any (msg:"CVE-2023-44147 Comment Blacklist Updater Exploitation"; flow:to_server,established; content:"POST"; http_method; content:"admin-ajax.php"; http_uri; content:"action=update_blacklist"; http_client_body; classtype:attempted-admin; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Remove or disable the Comment Blacklist Updater plugin until an official patch is released.
- Implement a Web Application Firewall (WAF) rule to block unauthenticated requests to
admin-ajax.phpwith suspicious actions. - Monitor WordPress logs for unauthorized AJAX calls.
Long-term Fix:
- Replace the plugin with an alternative that is actively maintained and has proper authorization checks.
- Apply the principle of least privilege to all WordPress AJAX endpoints by ensuring capability checks are in place.
Workaround:
- Add a custom function to your theme's
functions.phpto enforce capability checks on the vulnerable endpoint:
add_action('init', function() {
if (isset($_POST['action']) && $_POST['action'] === 'update_blacklist') {
if (!current_user_can('manage_options')) {
wp_die('Unauthorized', 403);
}
}
});
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.