Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify GRR instance with install files left in place
-
DeliveryCraft URL with XSS payload in forcemaj parameter
-
ExploitPhish victim into opening the link
-
Executionmaj.php reflects payload, JS runs in victim browser
-
ImpactSteal non-HttpOnly auth cookie, hijack session
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 GRR installation files - specifically installation/maj.php - remain present and web-accessible on the server; the advisory states this cleanup is manual and not automatic, so this is the decisive non-default precondition. The attacker must also induce an authenticated victim to open a crafted URL carrying the payload in the forcemaj GET parameter (user interaction required, UI:R). The impact is amplified because the GRR authentication cookie is not set HttpOnly, allowing injected JavaScript to read it for session hijacking. Limiting factors: instances that deleted the installation directory after setup are not exploitable, and the attack fails without victim interaction; affected versions are GRR <= 4.4.2, fixed in 4.5.0. |
| Impact | This is a reflected XSS (CWE-79) with a provided CVSS 3.1 vector of AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N (base 8.1). The PR:N component means the flaw itself requires no attacker authentication, and UI:R correctly reflects that a victim must open an attacker-crafted URL. However, the single most important mitigating signal comes from the vendor advisory (GHSA-r6x2-w38j-vvq2), not the CVSS vector: exploitation is only possible if the GRR installation files (specifically installation/maj.php) have not been deleted, and that cleanup is explicitly not automatic. The published CVSS vector does NOT encode this precondition, so the 8.1 base score overstates risk for any deployment that followed post-install hardening - this is a case where the vector and the description diverge, and defenders should treat the leftover-install-files condition as the real gating factor. No EPSS score and no CISA KEV status were supplied, so exploitation probability and active-exploitation evidence cannot be assessed from this input; absence of these signals is not evidence of safety but also not evidence of mass exploitation. The input references are the vendor advisory, the fix commit, and the v4.5.0 tag - these are patch/disclosure artifacts, not a working exploit, so there is no public exploit identified at time of analysis. The vuln.today Decision label is this_week, indicating a prompt-but-not-emergency remediation priority consistent with a patched, condition-dependent XSS in a niche product. Net assessment: a genuine high-severity XSS where real-world impact hinges on whether install files were removed; for correctly hardened installations the practical risk is substantially lower than 8.1 implies. |
| Exploit ScenarioDerived | An attacker identifies a GRR instance where the installation directory was never removed, making installation/maj.php reachable, and crafts a URL embedding a malicious payload in the forcemaj parameter. The attacker delivers this link to an authenticated GRR user (e.g., via phishing email); when the victim opens it, arbitrary JavaScript executes in their browser and, because the GRR authentication cookie is not flagged HttpOnly, the script can steal the session cookie and hijack the session. No working public exploit was provided in the input, only the vendor advisory and fix commit. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 28, 2026
Reflected cross-site scripting in the installation/upgrade script (installation/maj.php) of GRR, the PHP resource-management and reservation application, allows an attacker to run arbitrary JavaScript in a logged-in user's browser by getting that user to open a crafted URL containing a payload in the forcemaj parameter. The decisive precondition is that the installation directory was never deleted after setup - the advisory notes this cleanup is manual and not automatic - so instances where installation/maj.php remains web-accessible are the ones at risk; because the GRR authentication cookie is not marked HttpOnly, injected script can read it and hijack the session, and the same injection enables phishing and redirection to attacker-controlled sites. All versions up to and including 4.4.2 are affected and the issue is fixed in 4.5.0; a public proof-of-concept is not referenced in the available data and there is no confirmed active exploitation (no CISA KEV listing), and the current priority is this_week.
RemediationAI
Vendor-released patch: 4.5.0 (tag v4.5.0, commit 4ef77f91818215c1f8e0f06023d89257dfd61c68, advisory GHSA-r6x2-w38j-vvq2) - upgrade GRR to 4.5.0 or later, which filters forcemaj to digits and dots and encodes the reflected value with htmlspecialchars before output. Independently of the version, the decisive exposure control is to remove the installation directory from the web root once setup/upgrade is complete, exactly as the advisory intends: this eliminates the vulnerable endpoint entirely, at the cost of losing the web-based updater, so subsequent upgrades must be applied manually from the release archive. Where deletion is not immediately possible, deny network access to installation/ (web-server rule or path block) as an interim measure - this also blocks the legitimate upgrade script while it is in place. As a damage-limitation measure for the session-theft path, set the HttpOnly (and SameSite) attributes on the GRR authentication cookie so injected script cannot read it; this does not stop the script from running and requires the session/cookie handling to be changed and tested. Instances that already deleted the installation files after setup are not exploitable and need only the version upgrade for hygiene; note that exploitation additionally requires a victim to follow a crafted link, so user awareness of unsolicited GRR URLs remains relevant until the patch is applied.
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
GRR is a PHP web application (CPE cpe:2.3:a:jeromedevome:grr:*:*:*:*:*:*:*:*, i.e. every release before 4.5.0 per the EUVD record) that ships a browser-based installation and upgrade routine under installation/. The flaw is CWE-79 (improper neutralization of input during web page generation) in its reflected form: maj.php takes the GET parameter forcemaj and echoes it back into the upgrade status message without context-appropriate output encoding, so markup supplied in the URL is rendered by the victim's browser in the application's origin. The upstream commit (4ef77f9) confirms the root cause and the shape of the fix - the raw $_GET["forcemaj"] assignment is replaced by a preg_replace('/[^0-9.]/', '', ...) whitelist that rejects anything that is not a digit or dot and dies with "Version invalide" when nothing valid remains, and the reflected value is then emitted through htmlspecialchars($version_depart, ENT_QUOTES, 'UTF-8'); the same commit adds X-XSS-Protection and X-Content-Type-Options: nosniff response headers to that script. The commit additionally hardens an unrelated code path, admin/controleurs/admin_import_entries_csv_direct.php, by stripping non-printable characters and applying mysqli_real_escape_string to CSV-imported fields before building the INSERT statement - that is adjacent hardening in the same release, not the subject of this advisory. Context for impact: the affected script is only reachable while the installation files still exist on the server, which is why the vendor treats manual deletion of that directory as part of secure deployment, and the authentication cookie's lack of the HttpOnly attribute is what turns script execution into credential and session compromise.
Know when Grr 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
AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N
AC:H because exploitation depends on leftover installation files (a non-default, attacker-uncontrolled condition); UI:R for the clicked link; S:C as injected script executes in the browser context; C:H from non-HttpOnly cookie theft, I:L for limited browser-side tampering.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
GRR is a resource management and reservation application. Prior to version 4.5.0, maj.php reflects the forcemaj parameter without adequate escaping when installation files remain accessible. Removal of these files is not automatic. An attacker can craft a URL that executes arbitrary JavaScript in a victim's browser when the victim accesses it. This reflected cross-site scripting can enable phishing, redirection to malicious sites, cookie theft and session hijacking because the authentication cookie is not HttpOnly. This issue is fixed in version 4.5.0.
Technical POC Analysis
CWE-79, reflected cross-site scripting (XSS).
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
CVE-2026-58205 is a high-severity reflected cross-site scripting (XSS) vulnerability in GRR (PHP resource-management application) versions up to 4.4.2, which can allow session hijacking if the installation directory was not removed after setup. Leadership should care because this threatens unauthorized access to GRR user accounts and resources, potentially disrupting reservation management and exposing sensitive data, especially if users with elevated privileges are targeted.
Apply vendor patch. If immediate patching is not possible, restrict access to installation/maj.php via web server configuration (e.g., deny all requests to the installation directory), and ensure the GRR authentication cookie is set with HttpOnly and Secure flags to reduce session hijacking risk.
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.
An issue was discovered in DEVOME GRR before 3.4.1c. Rated critical severity (CVSS 9.8), this vulnerability is remotely
PHP code injection in GRR (JeromeDevome reservation/resource-management application) prior to 4.5.0 lets an authenticate
Arbitrary file read and deletion in GRR (JeromeDevome) up to and including 4.4.2 lets an authenticated administrator abu
An issue was discovered in DEVOME GRR before 3.4.1c. Rated high severity (CVSS 7.2), this vulnerability is remotely expl
EUVD-2026-111407
NVD
CVE.org
EPSS
GitHub
Exploit-DB