CVE-2025-13374

9.8 CRITICAL

📋 TL;DR

The Kalrav AI Agent WordPress plugin allows unauthenticated attackers to upload arbitrary files due to missing file type validation. This vulnerability affects all versions up to 2.3.3 and can lead to remote code execution on vulnerable WordPress sites.

💻 Affected Systems

Products:
  • Kalrav AI Agent WordPress Plugin
Versions: All versions up to and including 2.3.3
Operating Systems: Any OS running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: All WordPress installations with the vulnerable plugin version are affected regardless of configuration.

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete server compromise via remote code execution, allowing attackers to install malware, steal data, or use the server for further attacks.

🟠

Likely Case

Attackers upload web shells or malicious scripts to gain persistent access and execute arbitrary commands on the server.

🟢

If Mitigated

File uploads are blocked or properly validated, preventing malicious file execution while maintaining plugin functionality.

🌐 Internet-Facing: HIGH - The vulnerability is exploitable by unauthenticated attackers from the internet via the WordPress AJAX endpoint.
🏢 Internal Only: LOW - The vulnerability requires network access to the WordPress site, but internal attackers could still exploit it if they have network access.

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: CONFIRMED
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Multiple public proof-of-concept exploits exist, and the vulnerability is actively being exploited in the wild.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2.3.4 or later

Vendor Advisory: https://plugins.trac.wordpress.org/browser/kalrav-ai-agent/trunk/kalrav-ai-agent.php

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins → Installed Plugins. 3. Find Kalrav AI Agent and click 'Update Now'. 4. Verify the plugin version is 2.3.4 or higher.

🔧 Temporary Workarounds

Disable Plugin

all

Temporarily disable the vulnerable plugin until patched

wp plugin deactivate kalrav-ai-agent

Block AJAX Endpoint

linux

Block access to the vulnerable AJAX endpoint via web server configuration

# Apache: RewriteRule ^/wp-admin/admin-ajax\.php\?action=kalrav_upload_file - [F,L]
# Nginx: location ~* /wp-admin/admin-ajax\.php\?action=kalrav_upload_file { return 403; }

🧯 If You Can't Patch

  • Remove the Kalrav AI Agent plugin completely from the WordPress installation
  • Implement web application firewall rules to block file uploads to the kalrav_upload_file endpoint

🔍 How to Verify

Check if Vulnerable:

Check WordPress plugin version: Navigate to Plugins → Installed Plugins and verify Kalrav AI Agent version is 2.3.3 or lower

Check Version:

wp plugin get kalrav-ai-agent --field=version

Verify Fix Applied:

Verify plugin version is 2.3.4 or higher in WordPress admin panel, or test the AJAX endpoint with a malicious file upload attempt

📡 Detection & Monitoring

Log Indicators:

  • POST requests to /wp-admin/admin-ajax.php with action=kalrav_upload_file
  • File uploads with suspicious extensions (.php, .phtml, .phar) via the plugin endpoint
  • Unusual file creation in WordPress uploads directory

Network Indicators:

  • HTTP POST requests to WordPress AJAX endpoints with file uploads
  • Traffic patterns showing file uploads from unauthenticated sources

SIEM Query:

source="web_server" AND (url="*/wp-admin/admin-ajax.php*action=kalrav_upload_file*" OR file_extension IN ("php", "phtml", "phar"))

🔗 References

📤 Share & Export