---
id: CVE-2026-97347
title: >-
  The Post Views Stats Counter plugin for WordPress is vulnerable to Stored
  Cross-Site Scripting via User-Agent Header in all versions up to, and
  including, 1.1.7 due to insufficient input sanitization and output escaping
summary: >-
  The Post Views Stats Counter plugin for WordPress is vulnerable to Stored
  Cross-Site Scripting via User-Agent Header in all versions up to, and
  including, 1.1.7 due to insufficient input sanitization and output escaping.
  This makes it po…
severity: high
cvss: 7.2
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N'
cwe:
  - CWE-79
vendor: kazukiyanamoto
product: Post Views Stats Counter
affected:
  - post_views_stats_counter <= 1.1.7
published: '2026-09-30'
updated: '2026-09-30'
sourceUpdated: '2026-09-30T09:17:16.773'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-97347'
references:
  - url: >-
      https://plugins.trac.wordpress.org/browser/post-views-stats-counter/tags/1.1.7/manage/admin.php#L447
    label: security@wordfence.com
  - url: >-
      https://plugins.trac.wordpress.org/browser/post-views-stats-counter/tags/1.1.7/manage/admin.php#L681
    label: security@wordfence.com
  - url: >-
      https://plugins.trac.wordpress.org/browser/post-views-stats-counter/tags/1.1.7/wp_pvscounter.php#L269
    label: security@wordfence.com
  - url: >-
      https://plugins.trac.wordpress.org/browser/post-views-stats-counter/tags/1.1.7/wp_pvscounter.php#L411
    label: security@wordfence.com
  - url: >-
      https://www.wordfence.com/threat-intel/vulnerabilities/id/086a8577-eb23-4e05-8ff6-7bbfef62d25c?source=cve
    label: security@wordfence.com
tags:
  - nvd
  - cve.org
ingestedAt: '2026-09-30T09:00:29.914Z'
---

## Overview

The Post Views Stats Counter plugin for WordPress is vulnerable to Stored Cross-Site Scripting via User-Agent Header in all versions up to, and including, 1.1.7 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 plugin's only input filter is a substring blacklist for known bot signatures (e.g. 'bot', 'spider', 'crawler'), which can be trivially bypassed by crafting a User-Agent payload that omits those strings.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
