CVE-2025-68013
Executive Summary
CVE-2025-68013 is a Missing Authorization vulnerability in the Payment Gateway Authorize.Net CIM for WooCommerce WordPress plugin (authnet-cim-for-woo) by Cardpaysolutions. This flaw allows an unauthenticated attacker to exploit incorrectly configured access control security levels, potentially leading to unauthorized actions such as viewing or modifying payment gateway settings, customer data, or transaction records. The vulnerability affects all versions up to and including 2.1.2. As of this report, no official patch has been released, and no public proof-of-concept (PoC) or exploit code is available. The EPSS score is 0.0%, indicating low immediate exploitation likelihood, but the risk remains significant due to the sensitive nature of payment data.
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 ecosystem. The plugin is distributed via the official WordPress Plugin Directory and third-party marketplaces. Users are advised to monitor the plugin’s update channel and consider temporary deactivation if no patch is available.
CVSS Breakdown & Threat Level
- CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
- Base Score: 6.5 (Medium)
- Attack Vector: Network (AV:N) – Exploitable remotely.
- Attack Complexity: Low (AC:L) – No special conditions required.
- Privileges Required: None (PR:N) – No authentication needed.
- User Interaction: None (UI:N) – No user action required.
- Scope: Unchanged (S:U) – Vulnerability does not affect other components.
- Confidentiality Impact: Low (C:L) – Limited data exposure.
- Integrity Impact: Low (I:L) – Limited data modification.
- Availability Impact: None (A:N) – No denial of service.
Threat Level: Medium. While the CVSS score is 6.5, the potential for unauthorized access to payment gateway configurations and customer data elevates the risk for e-commerce sites.
Deep Dive & Mechanics
The vulnerability stems from missing authorization checks in the plugin’s AJAX handlers or REST API endpoints. The plugin likely uses WordPress’s wp_ajax_ and wp_ajax_nopriv_ hooks without verifying user capabilities (e.g., manage_options or edit_shop_orders). An unauthenticated attacker can send crafted HTTP requests to trigger actions such as:
- Retrieving Authorize.Net API keys or transaction logs.
- Modifying gateway settings (e.g., sandbox mode, transaction types).
- Accessing customer payment profiles stored in the CIM (Customer Information Manager).
The flaw is categorized under CWE-862: Missing Authorization, meaning the software does not perform any authorization check when an actor attempts to access a resource or perform an action.
Vulnerable vs. Patched Code
Since no patch is available, the following is a hypothetical comparison based on common authorization patterns.
Vulnerable Code (hypothetical):
add_action('wp_ajax_nopriv_get_transaction_log', 'handle_get_transaction_log');
function handle_get_transaction_log() {
// No capability check
$log = get_option('authnet_cim_transaction_log');
wp_send_json($log);
}
Patched Code (hypothetical):
add_action('wp_ajax_get_transaction_log', 'handle_get_transaction_log');
add_action('wp_ajax_nopriv_get_transaction_log', function() {
wp_die('Unauthorized', 403);
});
function handle_get_transaction_log() {
if (!current_user_can('manage_options')) {
wp_die('Unauthorized', 403);
}
$log = get_option('authnet_cim_transaction_log');
wp_send_json($log);
}
The patched version restricts the AJAX action to authenticated users with manage_options capability and denies unauthenticated access entirely.
Exploitation & Lab Setup
Red Team (Exploitation)
Prerequisites:
- Target WordPress site with the vulnerable plugin (<=2.1.2) installed and active.
- Network access to the site.
Exploitation Steps:
- Identify vulnerable endpoints by analyzing the plugin’s JavaScript or PHP files for
wp_ajax_nopriv_hooks. - Send a crafted HTTP request to the WordPress AJAX handler:
curl -X POST https://target.com/wp-admin/admin-ajax.php \ -d 'action=get_transaction_log' \ -H 'Content-Type: application/x-www-form-urlencoded' - If successful, the response may contain sensitive data (e.g., API keys, customer profiles).
Note: No public exploit code is available. The above is a generic example.
Blue Team (Detection & Defense)
Detection:
- Monitor for unusual AJAX requests to
admin-ajax.phpwithactionparameters related to the plugin (e.g.,authnet_cim_*,get_transaction_log). - Alert on requests from unauthenticated users to endpoints that should require admin privileges.
Defense:
- Immediately deactivate the plugin if no patch is available.
- Implement a Web Application Firewall (WAF) rule to block unauthenticated access to plugin-specific AJAX actions.
- Use WordPress security plugins (e.g., Wordfence) to enforce capability checks.
Indicators of Compromise (IOCs)
- Network IOCs:
- HTTP POST requests to
/wp-admin/admin-ajax.phpwithaction=authnet_cim_get_logor similar. - Unusual outbound traffic to Authorize.Net API endpoints from the WordPress server (if attacker exfiltrates data).
- HTTP POST requests to
- File IOCs:
- Modified plugin files (e.g.,
authnet-cim-for-woo.php) with unauthorized changes. - Unexpected log files in
/wp-content/uploads/or/wp-content/plugins/authnet-cim-for-woo/.
- Modified plugin files (e.g.,
- System IOCs:
- New WordPress admin users created (if attacker escalates privileges).
- Unusual database queries to
wp_optionsorwp_usermetatables.
Detection Engineering
YARA Rule
rule CVE_2025_68013_WordPress_Plugin {
meta:
description = "Detects vulnerable Payment Gateway Authorize.Net CIM for WooCommerce plugin files"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2025-68013"
strings:
$vuln_func = "wp_ajax_nopriv_" nocase
$plugin_slug = "authnet-cim-for-woo" nocase
condition:
$plugin_slug and #vuln_func > 0
}
Sigma Rule
title: CVE-2025-68013 - Missing Authorization in Authorize.Net CIM for WooCommerce
id: 8a9b3c2d-1e5f-4a7b-8c9d-0e1f2a3b4c5d
status: experimental
description: Detects unauthenticated AJAX requests to vulnerable plugin endpoints
author: Valters IT
date: 2025-04-10
logsource:
category: webserver
product: apache
service: access
detection:
selection:
cs-method: 'POST'
cs-uri-query|contains: 'admin-ajax.php'
cs-uri-query|contains: 'action=authnet_cim_'
sc-status: 200
condition: selection
falsepositives:
- Legitimate admin actions (if authenticated)
level: high
Suricata Rule
alert http any any -> any any (msg:"CVE-2025-68013 - Unauthenticated AJAX Access to Authorize.Net CIM Plugin"; flow:to_server,established; content:"POST"; http_method; content:"admin-ajax.php"; http_uri; content:"action=authnet_cim_"; http_client_body; classtype:attempted-recon; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Deactivate the plugin until a patch is released.
- Review server logs for any unauthorized access attempts.
- Rotate any Authorize.Net API keys that may have been exposed.
Long-term Mitigation:
- Monitor the plugin’s official page for updates.
- Implement a WordPress security policy that requires all plugins to undergo code review for authorization flaws.
- Use a Web Application Firewall (WAF) with virtual patching for known vulnerabilities.
- Consider migrating to an alternative, actively maintained payment gateway plugin.
Patch Status: UNKNOWN / UNPATCHED. No official fix is available as of this report.
Valters IT
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.