---
id: "CVE-2026-125409"
page: "https://infrastack.ai/live/CVE-2026-125409"
kind: "vulnerability"
aliases: ["CVE-2026-125409"]
title: "WordPress Passster plugin: stored script injection via shortcode meta fields"
severity: "medium"
cvss: 6.4
epss: null
exploited: false
status: "open"
category: "package"
products: []
ecosystems: []
tags: ["package", "passster", "self-hosted", "wordpress"]
not_affected_if: ["fixed-version", "no-contributor-accounts", "plugin-not-installed"]
published_at: "2026-11-13T10:17:28+00:00"
first_seen_at: "2026-11-13T10:47:11+00:00"
updated_at: "2026-11-13T10:55:07+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-125409", "first_seen_at": "2026-11-13T10:47:11+00:00"}]
exploit_sources: []
---

# WordPress Passster plugin: stored script injection via shortcode meta fields

Link for people: https://infrastack.ai/live/CVE-2026-125409 (this .md is for agents)

The Passster password-protection plugin for WordPress fails to sanitize the passster_id and passster_headline meta values, letting a contributor store a script that runs for any visitor or editor who opens the affected page. An attacker with contributor access can run script in other users' browsers, including administrators previewing a pending post.

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

## How to check

- Check whether the Passster plugin is installed and active in the WordPress admin under Plugins.
- Check the installed Passster version; versions up to and including `4.3.21` are affected.

## Timeline

- 2026-11-13T10:47:11+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-125409

## From the sources

The Passster – Password Protect Pages and Content plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'metavalue (metakeyinput=passster_id | passster_headline)' parameter in all versions up to, and including, 4.3.21 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. A Contributor can break out of the shortcode attribute context by embedding a ] character in the passster_id or passster_headline meta value to prematurely close the opening shortcode tag, then append a [/passster] closing tag so that the trailing HTML payload is emitted verbatim by do_shortcode() — bypassing the per-attribute escaping present inside render_shortcode() — and the script will also execute in an editor's or administrator's browser when they preview the Contributor's pending post, since filter_the_content() has no edit-permission capability gate.

---

_Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai_
