Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach unauthenticated ?postie=get-mail endpoint
-
DeliveryDeliver email with crafted href URL in body
-
ExploitAutolink stores unescaped markup after kses filters removed
-
ExecutionInjected script executes in visitor/admin browser
-
ImpactSession hijack or content manipulation in site context
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires that the Postie plugin (≤1.9.87) is installed and configured to retrieve/process incoming email, because the vulnerable code path is the ?postie=get-mail mail-fetch endpoint, which performs no capability check and is reachable by unauthenticated users. The attacker must get a crafted email - with a malicious URL in the body that the autolink routine (lib/autolink.php) turns into an unescaped href - into the mailbox Postie monitors; the email processing path strips WordPress's kses output filters before saving, so the raw markup is stored as post content. Script execution then requires a user (visitor or admin) to subsequently load the injected page. Limiting factors: the attack is inert unless mail-processing is actively configured (a non-default operational mode, consistent with AC:H), the payload must reach the monitored mailbox, and impact is confined to browser-context script execution. The only complete fix indicated by the evidence is updating past 1.9.87 (SVN changeset 3751269). |
| Impact | This is a medium-severity stored XSS (CVSS 5.4, CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:N). The signals partially conflict: the vector is network-reachable and unauthenticated (AV:N/PR:N), which raises concern, but AC:H reflects a real-world constraint - the attack only works when Postie is actually installed and configured to fetch/process incoming email, so the ?postie=get-mail code path is live. No CISA KEV listing and no public exploit code were identified, and no EPSS score was supplied in the input, so exploitation probability cannot be quantified from these sources - this is a notable data gap rather than evidence of low risk. The vuln.today decision label is 'this_month' (not act_now/emergency), consistent with a genuine but non-urgent issue: real, remotely injectable, but gated by a non-default deployment mode and yielding only limited confidentiality/integrity impact (session/DOM-level script execution) with no availability impact. Net: a legitimate patch-this-cycle item, not a drop-everything emergency, and the missing EPSS data should be filled in before final prioritization. |
| Exploit ScenarioDerived | An attacker sends a crafted email whose body contains a malicious URL to the mailbox that a Postie-enabled WordPress site polls (reachable through the unauthenticated ?postie=get-mail endpoint). The autolink routine builds an href from the URL without escaping while the processing path has removed WordPress's kses filters, so the raw markup is saved as post content and the injected script executes whenever a visitor or administrator loads the resulting page. No public proof-of-concept or exploit code was identified in the provided sources; the references are the Wordfence advisory, vulnerable source lines, and the fix changeset. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 28, 2026
Stored cross-site scripting in the Postie WordPress plugin through 1.9.87 allows unauthenticated attackers to inject arbitrary script into pages generated from processed email, with execution occurring when a victim later loads the affected page. The vulnerable path combines the unauthenticated, capability-free ?postie=get-mail endpoint with an email-body URL autolink routine that stores an unescaped href after WordPress kses output filters are removed during mail processing. Exploitation requires Postie to be configured to retrieve and process incoming email and requires the crafted message to reach the monitored mailbox; no public exploit identified at time of analysis.
RemediationAI
Update Postie to a release newer than 1.9.87; the provided evidence identifies SVN changeset 3751269 (https://plugins.trac.wordpress.org/changeset/3751269) and the Wordfence advisory (https://www.wordfence.com/threat-intel/vulnerabilities/id/5b7d5d53-51a0-4d45-a180-0bde9edd8f4c?source=cve) as the fix reference. The independent assessment states that updating past 1.9.87 is the only complete fix indicated by the evidence; a specific patched tagged version beyond 'past 1.9.87' is not listed, so verify the installed version after updating. Exploitation depends on Postie being configured to fetch and process mail, so confirm whether that operational mode is in use while planning the update.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Postie is a WordPress plugin that imports incoming email into WordPress posts. The flaw is CWE-79 (improper neutralization of input during web page generation, leading to cross-site scripting) in the email-body URL autolink functionality, with the supplied references pointing to lib/autolink.php lines 129, 136, and 220. When Postie processes mail, the autolink routine converts body URLs into links, but the href value is not escaped. The email processing path in postie-message.php lines 607 and 1311 and postie-filters.php line 475 removes WordPress kses output filters before saving, so raw markup is stored as post content. The ?postie=get-mail endpoint in postie.php line 241 is reachable by unauthenticated users and performs no capability check. The CPE cpe:2.3:a:wayneallen-1:postie:*:*:*:*:*:*:*:* identifies the Postie plugin, and the assessed CVSS vector is CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:N, indicating network reachability, high attack complexity, no privileges required, scope change, and low confidentiality and integrity impact.
Know when Postie gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:N
Unauthenticated reachable get-mail endpoint gives PR:N/AV:N; AC:H because it depends on Postie being configured to process incoming mail; stored script crosses into the victim's browser (S:C) with limited C/I and no availability impact.
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
DescriptionCVE.org
The Postie plugin for WordPress is vulnerable to Stored Cross-Site Scripting via Email Body URL Autolink in all versions up to, and including, 1.9.87 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. This is possible because the ?postie=get-mail endpoint is reachable by unauthenticated users with no capability check, and the email processing path removes WordPress's kses output filters before saving raw markup, allowing the unescaped href attribute value to be stored as post content.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
EUVD-2026-111751
GHSA-37r8-fq3j-qq4r
NVD
CVE.org
EPSS
Exploit-DB