---
id: "CVE-2026-95809"
kind: "vulnerability"
aliases: ["CVE-2026-95809"]
title: "Opti-Behavior WordPress plugin: unauthenticated stored XSS via country_name parameter"
severity: "high"
cvss: 7.2
epss: null
exploited: false
status: "open"
category: "package"
products: []
ecosystems: []
tags: ["analytics", "package", "wordpress", "wordpress-plugin"]
not_affected_if: ["plugin-not-installed", "plugin-version-above-1.9.2.1"]
published_at: "2026-10-16T06:17:13+00:00"
first_seen_at: "2026-10-23T21:57:12+00:00"
updated_at: "2026-10-25T03:29:45+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-95809", "first_seen_at": "2026-10-23T21:57:12+00:00"}]
---

# Opti-Behavior WordPress plugin: unauthenticated stored XSS via country_name parameter

The Opti-Behavior WordPress plugin up to and including 1.9.2.1 fails to sanitize the country_name location parameter sent to its heatmap recording endpoint. An unauthenticated attacker can store a script that runs in the browser of anyone who loads the injected page.

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

## How to check

- Check whether the Opti-Behavior plugin is installed and its version in the WordPress admin under Plugins, or with `wp plugin get opti-behavior --field=version` (plugin slug assumed; unknown if different)
- Look for the heatmap recording endpoint and the `opti_behavior_refresh_nonces` AJAX action in the plugin files

## Fix

- Update the Opti-Behavior plugin to a version later than `1.9.2.1`; the fixed version number is unknown from the sources
- If no fixed version is available, deactivate and remove the plugin
- Review stored content on affected pages for injected script tags

## Timeline

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

## From the sources

The Opti-Behavior – Self-Hosted Heatmaps, Session Recordings, Funnels, A/B Testing & Smart Insights plugin for WordPress is vulnerable to Stored DOM-Based Cross-Site Scripting via 'country_name' Location Parameter in all versions up to, and including, 1.9.2.1 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. The heatmap recording endpoint accepts unauthenticated requests protected only by a nonce that any visitor can freely obtain via the public opti_behavior_refresh_nonces AJAX action, removing any practical barrier to injecting the malicious payload.

---

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