Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSubmit guestbook entry with markup payload
-
DeliveryPayload stored unescaped server-side
-
ExploitVictim loads entries via AJAX Load more/Admin Load all
-
ExecutionjQuery injects field as HTML, script executes
-
ImpactSession actions or data theft in victim/admin browser
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires that the Grav Guestbook plugin (before 0.5.2) be installed with public, unauthenticated entry submission enabled - the default guestbook use case - and that the vulnerable AJAX 'Load more' pagination handler or the admin 'Load all' moderation view be used to render stored entries, since those specific handlers insert the author/message fields as unescaped HTML via jQuery. Injection itself needs no authentication (PR:N). Execution is limited by required victim interaction (UI:P/UI:R): the payload only fires when another visitor triggers AJAX pagination, or, for the higher-value administrator-session impact, only on versions 0.5.0 and 0.5.1 when a moderator opens the admin view. Sites that do not use the AJAX load handlers, or that run 0.5.2+, are not exploitable. |
| Impact | This is a medium-severity stored XSS (CWE-79) in the Grav Guestbook plugin, scored CVSS 5.3 via the vendor-supplied CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N). The signals are internally consistent: network vector, low complexity, no privileges, but passive user interaction (a victim must load the guestbook page/pagination), and impact is confined to the subsequent system (the victim browser) with low confidentiality and integrity impact and no availability impact - hence no direct server compromise. No EPSS score, CISA KEV listing, or public POC was provided in the input, so there is no public exploit identified at time of analysis and no evidence of active exploitation; the low raw score plus absent exploitation signals make this a routine-priority web hygiene issue rather than an emergency. The one factor that raises relative concern is that injection is unauthenticated and the stored payload can fire in administrator moderation sessions on 0.5.0/0.5.1, creating a privilege-boundary risk (admin session hijack/CSRF-style actions) that the aggregate CVSS score understates. Treat as a priority proportional to admin exposure: patch promptly on sites running 0.5.0/0.5.1 where moderators review submissions, lower priority otherwise. |
| Exploit ScenarioDerived | An unauthenticated visitor submits a guestbook entry whose author or message field contains HTML/JavaScript markup. When another visitor later loads additional entries via the AJAX 'Load more' handler - or an administrator opens the 'Load all' moderation view in 0.5.0/0.5.1 - jQuery inserts the stored field as unescaped HTML and the script executes in that user's browser. No public exploit code was identified, but the payload is trivial to craft given the unescaped-innerHTML sink. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 12, 2026
Stored cross-site scripting (CWE-79) in the Grav Guestbook plugin before 0.5.2 lets unauthenticated visitors persist markup in guestbook author and message fields that is later rendered as unescaped HTML through jQuery by the AJAX 'Load more' pagination handler and the admin 'Load all' moderation view. Because the CVSS vector carries PR:N, submission of the payload requires no authentication, but execution depends on victim interaction (UI:P/UI:R) - another visitor must trigger AJAX pagination, or, on versions 0.5.0 and 0.5.1 specifically, an administrator must open the moderation view, which elevates the impact to a moderation-session compromise. Rated CVSS 5.3 (vendor CVSS 4.0 AV:N/AC:L/AT:N/PR:N/UI:P/SC:L/SI:L) and independently assessed as CVSS 3.1 AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N; no public exploit code and no confirmed active exploitation were identified at time of analysis.
RemediationAI
Upgrade the Grav Guestbook plugin to version 0.5.2 or later - this is the vendor-released fix per the GitHub Security Advisory https://github.com/getgrav/grav/security/advisories/GHSA-jgpj-gchm-6j29 - and confirm the upgrade actually replaced the plugin directory, since Grav's GPM may pin an older release in composer or a bundled vendor tree. If an immediate upgrade is not possible, the most effective compensating control is to disable the AJAX-driven rendering paths entirely: turn off the front-end 'Load more' pagination and avoid the admin 'Load all' moderation view (use the default paginated admin listing instead), which removes the unescaped-HTML insertion sinks at the cost of slower browsing of large guestbooks. Because the vulnerability is stored rather than reflected, patching alone does not cleanse already-persisted entries: review and purge existing guestbook submissions, or truncate the guestbook data store, to prevent previously stored payloads from firing against visitors or moderators after the upgrade. Disabling public unauthenticated submission (requiring moderation approval or CAPTCHA before entries are stored and rendered) reduces the attack surface but does not fix the underlying rendering flaw, and note that CAPTCHAs can be bypassed by manual submission. Finally, apply a restrictive Content-Security-Policy to the Grav site to blunt inline-script execution as defense in depth, recognizing that CSP will not prevent markup injection itself and may break legitimate theme scripts if enabled strictly. Additional technical detail on the vulnerable handlers is available at https://www.vulncheck.com/advisories/grav-guestbook-before-0.5.2-stored-xss-via-ajax-pagination-and-admin-views.
Affected VersionsENISA
Affected Packages
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 Grav Guestbook plugin is an add-on for the Grav flat-file CMS that provides a public entry-submission form plus a moderation interface. The root cause is classic CWE-79 improper neutralization of user-controlled input during web page generation: the plugin's jQuery-based AJAX handlers ('Load more' for front-end pagination and 'Load all' for the admin moderation view) concatenate the stored author and message fields directly into DOM insertion sinks such as .html()/.append() rather than escaping them or using .text(). Because the payload is written to the guestbook store first and rendered later, this is a persistent (stored) XSS rather than a reflected one, and the rendering surface differs by handler - the front-end pagination path fires for ordinary visitors, while the admin path fires in a privileged session on versions 0.5.0 and 0.5.1. The CVSS 4.0 vector supplied with the record shows a scope-limited downstream impact (SC:L/SI:L) consistent with script execution confined to the victim's browser session rather than server compromise. CPE data (cpe:2.3:a:getgrav:grav-plugin-guestbook:*:*:*:*:*:*:*:*) confirms the affected artifact is the getgrav-distributed guestbook plugin package, not the Grav core.
Know when Grav Plugin Guestbook 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
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
Unauthenticated remote injection (PR:N, AV:N, AC:L) requiring a victim to load entries (UI:R); stored XSS crosses into the browser authority (S:C) with limited confidentiality/integrity impact and no availability loss.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
1DescriptionCVE.org
Grav Guestbook plugin before 0.5.2 contains a stored cross-site scripting vulnerability because its AJAX Load more and Admin Load all handlers insert stored author and message fields into the DOM as unescaped HTML via jQuery. Unauthenticated visitors can submit markup that executes in other visitors' browsers and, in versions 0.5.0 and 0.5.1, in administrator moderation sessions.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
EUVD-2026-97624
GHSA-44rc-569f-hxfg
NVD
CVE.org
EPSS
Exploit-DB