Skip to main content

GRR CVE-2026-58205

| EUVDEUVD-2026-111407 HIGH
Cross-site Scripting (XSS) (CWE-79)
2026-10-27 GitHub_M
8.1
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Identify GRR instance with install files left in place
  2. Delivery
    Craft URL with XSS payload in forcemaj parameter
  3. Exploit
    Phish victim into opening the link
  4. Execution
    maj.php reflects payload, JS runs in victim browser
  5. Impact
    Steal 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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.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 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

GRR < 4.5.0

Affected Packages

euvd grr fix: 4.5.0

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

Vendor (GitHub_M) PRIMARY 8.1 HIGH
AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N
vuln.today AI 6.9 MEDIUM

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.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
Required
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
None

Lifecycle Timeline

2
Patch available
Oct 27, 2026 - 23:19 EUVD
CVE Published
Oct 27, 2026 - 22:26 cve.org
HIGH 8.1

DescriptionCVE.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

Why It Matters

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.

Business Impact: High
Compensating Controls

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

EPSS Score
0.3%
Top 79% exploitable
Prevalence
Low
niche open-source room/resource reservation app, limited production footprint
Data Quality
4 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 HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
No
Human Impact
High

Priority Score

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

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

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