Skip to main content

Grav Star Ratings CVE-2026-109323

| EUVDEUVD-2026-97625 MEDIUM
Missing Authorization (CWE-862)
2026-10-12 VulnCheck GHSA-pwp7-4hgc-rjhr
6.9
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Load public page to harvest anonymous nonce
  2. Exploit
    Craft POST to addVote() endpoint
  3. Execution
    Bypass client-only vote_access/readonly check
  4. Impact
    Submit forged votes to manipulate aggregate rating

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
MITRE ATT&CK

1 technique across 1 tactic: Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitable only against Grav sites running the Star Ratings plugin versions 2.0.1 through 2.0.3 where vote access or read-only restrictions are relied upon - because enforcement is client-side only, the server accepts votes from any anonymous visitor using the nonce that getData() already emits publicly. No authentication, no user interaction, and no non-default configuration are required to call addVote(). The practical limiting factors are narrow: the target must deploy this specific plugin in the affected version range, and the impact ceiling is restricted to vote/rating data integrity - there is no path to confidentiality or availability compromise, which sharply bounds realistic risk.

Impact

This is a genuine but low-impact authorization flaw whose severity signals are internally consistent rather than conflicting. The vendor-supplied CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N) correctly describes a network-reachable, unauthenticated, low-complexity attack requiring no user interaction, and it scopes impact narrowly to integrity (VC:N/VI:L/VA:N) - no data disclosure and no availability loss. The 6.9 (Medium) score is therefore driven almost entirely by trivial reachability, not by consequence: the only thing an attacker can corrupt is rating/vote data. No EPSS score, CISA KEV listing, or public POC is present in the provided data, so there is no evidence of active exploitation or weaponization; exploitation ease is high but real-world motivation is low because the payoff is limited to skewing star ratings. The core attack mechanics are confirmed by the GitHub Security Advisory (GHSA-556j-6jh2-5rcv) and VulnCheck, but no exploitation-probability data is available to refine likelihood. Net: prioritize as a data-integrity/abuse-prevention fix, not an emergency; this is a legitimately low-real-risk issue despite the Medium score.

Exploit ScenarioDerived

An attacker observes the anonymous nonce that the plugin's getData() emits to ordinary page visitors, then issues direct HTTP POST requests to the addVote() endpoint without authenticating. By replaying this against ratings that are supposed to be read-only or access-restricted, they can stuff votes to inflate or deflate aggregate scores. No public exploit code is identified at time of analysis, but the attack requires only basic HTTP tooling given the exposed nonce.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 12, 2026

Grav Star Ratings plugin versions 2.0.1 through 2.0.3 allow unauthenticated visitors to submit votes on restricted or disabled ratings because the vote_access and readonly restrictions are enforced only in client-side code. Attackers can obtain the anonymous nonce that getData() already emits publicly and call addVote() directly, manipulating rating aggregates; the confirmed impact is limited to data integrity with no confidentiality or availability loss. No public exploit code or active exploitation is identified at time of analysis.

RemediationAI

No vendor-released patch was identified at time of analysis. The vendor advisory at https://github.com/getgrav/grav/security/advisories/GHSA-556j-6jh2-5rcv should be monitored for an updated version; once a patched release is available, upgrade the Grav Star Ratings plugin beyond 2.0.3. Until then, the most reliable mitigation is to disable the Star Ratings plugin entirely, accepting the loss of rating functionality. If the plugin must remain active, implement server-side authorization in addVote() by validating that the request comes from an authorized user or that voting is actually enabled for that rating, but this requires custom code and is not vendor-supported. As a compensating control, block unauthenticated POST requests to the plugin's addVote endpoint at the web server or WAF layer; the trade-off is that legitimate anonymous voting will also be blocked, and the restriction may break if the endpoint path changes. Only relying on the client-side vote_access and readonly settings is insufficient and should not be considered a security boundary.

Affected VersionsENISA

grav-plugin-star-ratings 2.0.1 <2.0.4

Affected Packages

euvd grav_plugin_star_ratings fix: 2.0.4

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The vulnerability is a missing authorization flaw (CWE-862) in the Grav Star Ratings plugin for the Grav CMS. The plugin exposes a getData() function that returns an anonymous nonce to any visitor, and an addVote() endpoint intended to record votes. While the plugin offers vote_access and readonly configuration options to restrict or disable voting, the affected versions enforce these checks only in the browser, not on the server. Consequently, an unauthenticated remote attacker can bypass the intended restrictions by using the publicly emitted nonce to POST a vote directly to addVote(), without any authentication (CVSS vector PR:N) or user interaction (UI:N). The CPE string cpe:2.3:a:getgrav:grav-plugin-star-ratings identifies the affected component, and the version range 2.0.1-2.0.3 is specified in the advisory. The only impact class is low integrity (I:L) on rating data; there is no path to read sensitive information (C:N) or to disrupt availability (A:N), making this a narrow authorization bypass rather than a broad compromise.

Know when Grav Plugin Star Ratings gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 6.9 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
vuln.today AI 5.3 MEDIUM

Anonymous nonce is publicly emitted so PR:N/AC:L/AV:N with no interaction; impact limited to vote-data tampering gives I:L, C:N, A:N.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
Low
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

1
Patch available
Oct 12, 2026 - 18:03 EUVD

DescriptionCVE.org

Grav Star Ratings 2.0.1 through 2.0.3 contains a missing authorization vulnerability that allows unauthenticated visitors to vote by bypassing client-only vote_access and readonly enforcement. Attackers can use the anonymous nonce emitted by getData() to submit votes directly to addVote(), manipulating restricted or disabled ratings and aggregate rating output.

Threat Intelligence Overview

EPSS Score
0.3%
Top 84% exploitable
Prevalence
Low
single plugin for niche flat-file Grav CMS, limited production footprint
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact· derived
Medium

Priority Score

34
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +34
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy