---
id: "CVE-2026-100175"
kind: "vulnerability"
aliases: ["CVE-2026-100175"]
title: "Postie WordPress plugin: unauthenticated email input stores cross-site scripting payloads"
severity: "medium"
cvss: 5.4
epss: null
exploited: false
status: "open"
category: "package"
products: []
ecosystems: []
tags: ["package", "self-hosted", "wordpress", "wordpress-plugins"]
not_affected_if: ["newer-version", "plugin-not-installed"]
published_at: "2026-10-28T07:16:42+00:00"
first_seen_at: "2026-10-28T07:31:37+00:00"
updated_at: "2026-10-28T07:33:19+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-100175", "first_seen_at": "2026-10-28T07:31:37+00:00"}]
---

# Postie WordPress plugin: unauthenticated email input stores cross-site scripting payloads

The Postie plugin for WordPress, up to and including version 1.9.87, lets an unauthenticated attacker send email that gets saved as page content with unsanitized markup. When a logged-in user opens the injected page, the attacker's script runs in their browser.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- Check the installed Postie version in the WordPress admin plugin list or with `wp plugin get postie --field=version`
- Confirm whether the endpoint `?postie=get-mail` responds on the site
- unknown for other checks

## Fix

- Update the Postie plugin to a version later than `1.9.87`
- unknown for a specific fixed version or workaround

## Timeline

- 2026-10-28T07:31:37+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-100175

## From the sources

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.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
