---
id: "CVE-2026-110017"
kind: "vulnerability"
aliases: ["CVE-2026-110017"]
title: "Quick PayPal Payments WordPress plugin: stored XSS via form parameter"
severity: "medium"
cvss: 6.4
epss: null
exploited: false
status: "open"
category: "package"
products: []
ecosystems: []
tags: ["package", "self-hosted", "wordpress", "wordpress-plugins"]
not_affected_if: ["no-contributor-accounts", "plugin-not-installed", "plugin-updated"]
published_at: "2026-10-16T06:17:08+00:00"
first_seen_at: "2026-10-23T21:57:12+00:00"
updated_at: "2026-10-25T03:59:54+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-110017", "first_seen_at": "2026-10-23T21:57:12+00:00"}]
---

# Quick PayPal Payments WordPress plugin: stored XSS via form parameter

The Quick PayPal Payments WordPress plugin up to and including 6.0.4 does not sanitize the 'form' parameter, so a contributor-level user can store a script in a post. The script runs in the browser of anyone who views that page, including Editors and Administrators who preview it.

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

## How to check

- Check whether the plugin is installed and its version in the WordPress admin Plugins screen or with `wp plugin get quick-paypal-payments --field=version` (the slug is unknown from the sources; confirm it)
- Look for contributor-submitted posts containing quote-breaking script payloads in the 'form' parameter of the plugin's shortcode or block

## Fix

- Update the Quick PayPal Payments plugin to a version later than `6.0.4` (the patched version is unknown from the sources)
- Until patched, restrict Contributor accounts or review pending content for injected script before previewing it

## Timeline

- 2026-10-23T21:57:12+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-110017

## From the sources

The Quick PayPal Payments: Payment Button & Form plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'form' parameter in all versions up to, and including, 6.0.4 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. Because wp_kses_post strips only HTML tags, a quote-breaking payload containing no angle brackets survives post save intact, and the injected script fires for every viewer of the post — including higher-privileged Editors and Administrators who routinely preview a Contributor's pending content.

---

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