Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Remote, low-complexity, unauthenticated because all three access controls are bypassable on default installs (PR:N/AC:L); read-only arbitrary file disclosure gives C:H with no integrity or availability impact.
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
Lifecycle Timeline
2DescriptionCVE.org
The AR for WooCommerce plugin for WordPress is vulnerable to Directory Traversal in all versions up to, and including, 8.40 via the 'file' parameter parameter. This makes it possible for unauthenticated attackers to read the contents of arbitrary files on the server, which can contain sensitive information. The three intended access controls all fail: valid nonces are freely minted by unauthenticated callers via the nopriv ar_get_fresh_nonce and ar_process_user_image AJAX handlers; the AES-256-CBC encryption key is derived from get_option('ar_licence_key'), which returns false on default free installations and yields a predictable key attackers can use to encrypt their own path payloads; and the Referer check is trivially bypassed because the Referer header is attacker-controlled.
Articles & Coverage 1
AnalysisAI
Arbitrary file read in the AR for WooCommerce WordPress plugin (all versions through 8.40) lets unauthenticated attackers traverse directories via the 'file' parameter of AJAX-driven secure-download handlers, exposing wp-config.php, credentials, and other sensitive server files. The vulnerability is notable because three independent access controls - nonce validation, AES-256-CBC payload encryption, and a Referer check - each fail on default free installations, collapsing what looks like a defended endpoint into an open file-disclosure primitive. No public exploit identified at time of analysis, but the flaw is trivially reachable and was reported by Wordfence.
Technical ContextAI
The affected component is a WordPress e-commerce plugin (CPE cpe:2.3:a:webandprint:ar_for_woocommerce) that extends WooCommerce, published by webandprint. The root cause is CWE-22 (Improper Limitation of a Pathname to a Restricted Directory / Path Traversal): the ar-secure-download.php handler takes an attacker-influenced 'file' value and resolves it against the filesystem without canonicalizing or constraining it to an intended directory, allowing '../' sequences to escape the download root. The plugin attempts to gate this behind WordPress nonces (the ar_get_fresh_nonce and ar_process_user_image nopriv AJAX actions), an AES-256-CBC encryption layer keyed on get_option('ar_licence_key'), and an HTTP Referer check - but each is defeated because the nonce endpoint is exposed to unauthenticated (nopriv) callers, the license-key option returns false on free installs producing a predictable/derivable AES key, and the Referer header is client-supplied. The relevant code is at ar-woocommerce.php lines 143/249 and ar-secure-download.php lines 64/95.
RemediationAI
Vendor-released patch: 8.41 - update the AR for WooCommerce plugin to version 8.41 or later, which is the primary and confirmed remediation (see the fixing changeset at https://plugins.trac.wordpress.org/changeset/3593279/ar-for-woocommerce/trunk/includes/ar-secure-download.php and the 8.40-to-8.41 diff). If immediate patching is not possible, deactivate and remove the plugin, since its defense-in-depth controls (nonce, encryption, Referer) are all bypassable and cannot be salvaged by configuration; deactivation removes AR product-viewer functionality but eliminates the exposure. As compensating controls pending upgrade, block or restrict unauthenticated access to admin-ajax.php actions 'ar_get_fresh_nonce', 'ar_process_user_image', and the secure-download endpoint at the WAF or web-server layer, and use a WAF path-traversal rule to reject 'file' parameter values containing '../' or absolute paths - noting the trade-off that broad admin-ajax filtering can break other plugins that legitimately use nopriv AJAX. Setting a real value for the 'ar_licence_key' option only removes the predictable-key weakness and does not fix the traversal, so it is not a sufficient mitigation on its own. Consult the Wordfence advisory (https://www.wordfence.com/threat-intel/vulnerabilities/id/2049712a-6ff2-4e2a-98f8-93a493a5bfd3?source=cve) for detection guidance.
More in Wordpress Plugin
View allThe Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
The Hash Form - Drag & Drop Form Builder plugin for WordPress is vulnerable to arbitrary file uploads due to missing fil
Authentication bypass in the LiteSpeed Cache WordPress plugin (versions prior to 6.5.0.1) allows unauthenticated remote
The Simple File List plugin for WordPress through version 4.2.2 contains an unauthenticated remote code execution vulner
The SureTriggers WordPress plugin through version 1.0.82 contains a privilege escalation vulnerability that allows unaut
The Ninja Forms plugin before 2.9.42.1 for WordPress allows remote attackers to conduct PHP object injection attacks via
The Business Directory Plugin - Easy Listing Directories for WordPress plugin for WordPress is vulnerable to time-based
SQL injection in the NotificationX WordPress plugin (versions up to and including 2.8.2) allows unauthenticated remote a
The POST SMTP Mailer - Email log, Delivery Failure Notifications and Best Mail SMTP for WordPress plugin for WordPress i
The MasterStudy LMS WordPress Plugin - for Online Courses and Education plugin for WordPress is vulnerable to union base
The Email Subscribers by Icegram Express plugin for WordPress is vulnerable to SQL Injection via the ‘hash’ parameter in
Remote code execution in the WP Query Console WordPress plugin (versions up to and including 1.0) by Ajit Bohra allows u
Same weakness CWE-22 – Path Traversal
View allSame technique Path Traversal
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-41485
GHSA-r26p-86pc-qqj4