Skip to main content

Postie WordPress plugin CVE-2026-100175

| EUVDEUVD-2026-111751 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-10-28 Wordfence GHSA-37r8-fq3j-qq4r
5.4
CVSS 3.1 · Vendor: Wordfence
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Reach unauthenticated ?postie=get-mail endpoint
  2. Delivery
    Deliver email with crafted href URL in body
  3. Exploit
    Autolink stores unescaped markup after kses filters removed
  4. Execution
    Injected script executes in visitor/admin browser
  5. Impact
    Session 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.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

Postie 0 ≤1.9.87

Affected Packages

euvd postie no fix

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

Vendor (Wordfence) PRIMARY 5.4 MEDIUM
AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:N
vuln.today AI 5.4 MEDIUM

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.

3.1 AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:N
4.0 AV:N/AC:H/AT:N/PR:N/UI:N/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N

Primary rating from Vendor (Wordfence).

CVSS VectorVendor: Wordfence

Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Changed
Confidentiality
Low
Integrity
Low
Availability
None

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

EPSS Score
0.3%
Top 74% exploitable
Prevalence
Medium
moderately popular WordPress email-to-post plugin, modest install base
Social Media
1
Sightings
Data Quality
4 sources
Confidence: Medium

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

27
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +27
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy