CVE-2025-32228
Executive Summary
CVE-2025-32228 is a medium-severity information disclosure vulnerability affecting the WordPress plugin Ai Image Alt Text Generator for WP by WP Messiah, up to and including version 1.1.9. The flaw allows an unauthenticated attacker to retrieve sensitive system information, such as internal paths, database credentials, or configuration details, by exploiting an exposed endpoint or misconfigured permission check. This exposure can aid in further attacks, including privilege escalation or lateral movement within the WordPress ecosystem.
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 resides in a WordPress plugin distributed via the official WordPress plugin repository. No known supply chain compromise has been reported, but the lack of a patch increases risk for sites using this plugin. Administrators should treat the plugin as untrusted until a fix is released.
CVSS Breakdown & Threat Level
- CVSS Score: 4.3 (Medium)
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
- Attack Vector: Network
- Attack Complexity: Low
- Privileges Required: None
- User Interaction: None
- Scope: Unchanged
- Confidentiality Impact: Low (sensitive system info leaked)
- Integrity Impact: None
- Availability Impact: None
The low EPSS score (0.0%) suggests active exploitation is currently rare, but the lack of a patch makes this a ticking time bomb for unmaintained sites.
Deep Dive & Mechanics
The vulnerability stems from the plugin’s failure to properly restrict access to internal functions or endpoints that return system-level data. In WordPress plugins, this often occurs when:
- A REST API endpoint or AJAX handler does not enforce
current_user_can()checks. - Debug or diagnostic pages are left accessible without authentication.
- The plugin exposes
phpinfo(),get_option(), or file system paths via direct URL access.
For Ai Image Alt Text Generator for WP, the sensitive data likely includes:
- Absolute server paths (e.g.,
/var/www/html/wp-content/...) - Database table prefixes or connection strings
- Plugin configuration options containing API keys or tokens
- PHP error logs or stack traces
An attacker can craft a simple HTTP request to the vulnerable endpoint (e.g., /wp-admin/admin-ajax.php?action=ai_image_alt_debug) to retrieve this data without any authentication.
Vulnerable vs. Patched Code
Since no patch is available, the vulnerable code remains in production. A typical vulnerable pattern in WordPress plugins is:
Vulnerable (<= 1.1.9):
add_action('wp_ajax_nopriv_ai_image_alt_debug', 'ai_image_alt_debug_handler');
function ai_image_alt_debug_handler() {
// No permission check
echo json_encode([
'path' => ABSPATH,
'db_host' => DB_HOST,
'db_name' => DB_NAME,
'options' => get_option('ai_image_alt_settings')
]);
wp_die();
}
Patched (hypothetical):
add_action('wp_ajax_ai_image_alt_debug', 'ai_image_alt_debug_handler');
function ai_image_alt_debug_handler() {
if (!current_user_can('manage_options')) {
wp_die('Unauthorized', 403);
}
// Only show non-sensitive data
echo json_encode(['status' => 'ok']);
wp_die();
}
The fix would require adding capability checks and removing sensitive data exposure.
Exploitation & Lab Setup
Red Team
Prerequisites:
- Target WordPress site with Ai Image Alt Text Generator for WP <= 1.1.9 installed and activated.
- No authentication required.
Exploitation Steps:
- Identify the vulnerable endpoint. Common patterns include:
/wp-admin/admin-ajax.php?action=ai_image_alt_debug/wp-content/plugins/ai-image-alt-text-generator-for-wp/debug.php
- Send a GET request using
curl:curl -v "http://target.com/wp-admin/admin-ajax.php?action=ai_image_alt_debug" - Parse the JSON response for sensitive data (paths, DB credentials, etc.).
Example Output:
{
"path": "/var/www/html/wp-content/plugins/ai-image-alt-text-generator-for-wp/",
"db_host": "localhost",
"db_name": "wp_altgen",
"options": {
"api_key": "sk-xxxxx",
"debug_mode": true
}
}
Blue Team
Detection:
- Monitor for requests to
admin-ajax.phpwith action parameters matching plugin-specific names (e.g.,ai_image_alt_debug). - Alert on any unauthenticated access to plugin debug endpoints.
- Use WAF rules to block requests containing
ai_image_altin the query string.
Hunting:
- Search web server logs for
admin-ajax.php?action=ai_image_altfrom non-admin IPs. - Check for unexpected
200 OKresponses to debug endpoints.
Indicators of Compromise (IOCs)
- URL Patterns:
/wp-admin/admin-ajax.php?action=ai_image_alt_debug - File Paths:
/wp-content/plugins/ai-image-alt-text-generator-for-wp/ - Response Content: JSON containing
ABSPATH,DB_HOST,DB_NAME, or plugin options. - Log Entries:
"POST /wp-admin/admin-ajax.php HTTP/1.1" 200withaction=ai_image_alt_debugin the request body.
Detection Engineering
YARA Rule
rule CVE_2025_32228_WordPress_Plugin_InfoDisclosure {
meta:
description = "Detects exploitation attempts for CVE-2025-32228 in Ai Image Alt Text Generator for WP"
author = "Valters IT"
date = "2025-04-01"
reference = "https://nvd.nist.gov/vuln/detail/CVE-2025-32228"
strings:
$s1 = "ai_image_alt_debug" ascii wide nocase
$s2 = "ABSPATH" ascii wide
$s3 = "DB_HOST" ascii wide
$s4 = "ai-image-alt-text-generator-for-wp" ascii wide
condition:
any of ($s1, $s2, $s3) and $s4
}
Sigma Rule
title: CVE-2025-32228 WordPress Plugin Information Disclosure
id: 8a3f7c2e-1b4d-4f6a-9c8e-0d1e2f3a4b5c
status: experimental
description: Detects unauthenticated access to the Ai Image Alt Text Generator debug endpoint
author: Valters IT
date: 2025/04/01
logsource:
category: webserver
product: apache
service: access
detection:
selection:
cs-uri-query|contains: "action=ai_image_alt_debug"
condition: selection
falsepositives:
- Legitimate admin debugging (rare)
level: high
Suricata Rule
alert http any any -> any any (msg:"CVE-2025-32228 WordPress Plugin Information Disclosure Attempt"; flow:to_server; content:"/wp-admin/admin-ajax.php"; http_uri; content:"action=ai_image_alt_debug"; http_uri; classtype:attempted-recon; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Disable the plugin until a patch is released by WP Messiah.
- Block the vulnerable endpoint via
.htaccessor WAF:<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{QUERY_STRING} action=ai_image_alt_debug [NC] RewriteRule .* - [F,L] </IfModule> - Monitor logs for exploitation attempts.
Long-term:
- Replace the plugin with an alternative that is actively maintained.
- Implement a Web Application Firewall (WAF) with virtual patching.
- Regularly audit WordPress plugins for known vulnerabilities.
Patch Status: UNKNOWN / UNPATCHED. No official fix has been released. Users must rely on mitigation controls.
Valters IT signature: This report is provided for authorized security testing and defensive purposes only. Unauthorized exploitation is illegal.
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.