Skip to main content

GROWI EUVDEUVD-2026-69292

| CVE-2026-84205 HIGH
Authorization Bypass Through User-Controlled Key (CWE-639)
2026-09-01 VulnCheck GHSA-gjwx-pwx3-4hxq
7.1
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Authenticate with any GROWI account
  2. Delivery
    Enumerate or infer target revision ObjectId from restricted page
  3. Exploit
    Identify a pageId the account can legitimately access
  4. Execution
    Issue GET /_api/v3/revisions/<target_id>?pageId=<accessible_page_id>
  5. Persist
    Server authorizes against accessible page, returns restricted revision content
  6. Impact
    Exfiltrate sensitive historical page data

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
Exploitation Conditions

Exploitation requires an active authenticated session on the GROWI instance - any account with login access suffices, including low-privilege contributor or viewer roles (CVSS PR:L confirms this). The attacker must also be able to enumerate or guess at least one valid MongoDB ObjectId for a revision belonging to a restricted page; this is a non-trivial but not insurmountable barrier, especially in instances with high revision counts or predictable ID patterns. The targeted page must have page-level access controls configured (GRANT_OWNER or group-restricted) - public pages without restrictions are not meaningfully exposed. No special server-side configuration is required; the flaw exists in the default GROWI API routing. Exploitation is limited to confidentiality: no write or administrative operations are exposed through this endpoint.

Impact

The CVSS 4.0 vector AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N places this as a straightforward network-reachable, low-complexity exploit requiring only a valid authenticated session - no special privileges or user interaction. Real-world risk is moderate-to-high for organizations using GROWI with page-level access controls: any contributor or viewer account can bypass those controls entirely, reading page history (revision content) regardless of grant settings. There is no KEV listing and no public exploit code confirmed, keeping the immediate exploitation risk lower than the CVSS alone suggests. EPSS data is not provided; absent active exploitation, risk is primarily insider-threat or credential-compromise-driven rather than mass automated scanning. The VulnCheck advisory covers all versions through 8.0.2, with a patch now available, so unpatched instances represent the full exposed population. The scope is confidentiality-only: no write, delete, or privilege escalation path is identified from this flaw.

Exploit ScenarioDerived

An authenticated GROWI user with read access to a single public page discovers the revision ID of a private page through indirect means - for example, by observing revision IDs in URLs of accessible pages and incrementing or guessing adjacent IDs. The attacker calls GET /_api/v3/revisions/<private_revision_id>?pageId=<accessible_public_page_id>, supplying their accessible page's ID as the query parameter. The server authorizes the request against the accessible page, then returns the full revision document from the private page, exposing its historical text content without triggering an access-denied response.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Sep 01, 2026

Authenticated IDOR in GROWI through v8.0.2 exposes revision content from access-restricted pages via the GET /_api/v3/revisions/:id API endpoint. The endpoint performs its access check against a caller-supplied query parameter (page identifier) but returns the revision record identified by the URL path parameter without verifying both identifiers resolve to the same page. Any authenticated user can pair a page ID they legitimately access with an arbitrary revision ID from a private or restricted page to silently exfiltrate its historical content. No public exploit is identified at time of analysis; CVSS 4.0 scores this 7.1 with high confidentiality impact and no integrity or availability loss.

RemediationAI

Upstream fix is available via GitHub PR #11810 and commit d298e0b1dbbf568c99db657fa0f7e90f72ddc59b (https://github.com/growilabs/growi/pull/11810). A specific patched release version is not independently confirmed from available data - the patch reference points to a GitHub commit rather than a tagged release, so administrators should verify the fix is included in the installed release version by checking changelog or git tags after v8.0.2. As a compensating control pending upgrade, restrict the GROWI instance to trusted internal networks or VPN-only access to limit the pool of authenticated users who can reach the API. Additionally, audit GROWI access logs for unexpected calls to GET /_api/v3/revisions/:id where the pageId query parameter does not correspond to the revision's owning page - this pattern indicates active exploitation or reconnaissance. Restricting contributor accounts to minimum required permissions reduces risk surface. No workaround eliminates the flaw without the patch.

Affected VersionsENISA

GROWI 0 ≤8.0.2

Affected Packages

euvd growi no fix

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

GROWI is an open-source wiki platform (cpe:2.3:a:growilabs:growi:*:*:*:*:*:*:*:*) built on Node.js and MongoDB, commonly deployed for team knowledge management. The affected code lives in apps/app/src/server/routes/apiv3/revisions.js (confirmed present at tag v8.0.2 via the source reference). The root cause is CWE-639: Authorization Bypass Through User-Controlled Key - the server trusts a caller-supplied pageId query parameter to gate access, then independently resolves and returns the revision document using the :id path parameter, never asserting that the resolved revision belongs to the authorized page. Because MongoDB ObjectId values for revisions are predictable in structure (though not necessarily guessable without enumeration), an attacker with any authenticated session can systematically probe revision IDs. The patch in PR #11810 / commit d298e0b introduces a cross-validation step ensuring the resolved revision's owning page matches the access-checked page, and the accompanying regression tests confirm attachment retrieval (GET /attachment/:id) received a parallel fix for the same class of flaw.

Know when Growi 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 7.1 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 6.5 MEDIUM

Network-reachable API, low complexity; requires authenticated session (PR:L); confidentiality-only impact, no integrity or availability effect.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/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
Low
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

GROWI contains an access control vulnerability in the GET /_api/v3/revisions/:id endpoint that validates access against a query parameter but returns the revision identified by the path parameter without confirming they reference the same page. Authenticated attackers can pair a page identifier they can access with an arbitrary revision identifier to read revision content from pages they lack permission to view.

Executive ViewAI

Why It Matters

GROWI through version 8.0.2 contains an authenticated information disclosure flaw allowing any logged-in user to view historical content from access-restricted pages they should not see. This violates page-level access controls and exposes confidential revision history, creating unauthorized data access and potential compliance violations.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 85% exploitable
Prevalence
Low
niche open-source wiki, primarily Japanese enterprise teams
Data Quality
6 sources
Confidence: High

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.2%
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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
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.

More in Growi

View all
CVE-2021-20736 CRITICAL
9.1 Jun 22

NoSQL injection vulnerability in GROWI versions prior to v4.2.20 allows a remote attacker to obtain and/or alter the inf

CVE-2019-5968 HIGH
8.8 Jul 05

Cross-site request forgery (CSRF) vulnerability in GROWI v3.4.6 and earlier allows remote attackers to hijack the authen

CVE-2026-80191 HIGH
8.7 Aug 25

Unauthenticated file disclosure in GROWI (all versions before 8.0.2) exposes private page attachments to any caller who

CVE-2026-41040 HIGH
8.7 Apr 23

Remote denial of service via regular expression attack in GROWI allows unauthenticated network attackers to exhaust serv

CVE-2026-25083 HIGH
8.7 Mar 16

Cross-user data exposure and tampering in GROWI v7.4.5 and earlier allows any authenticated user who learns a shared AI

CVE-2026-41951 HIGH
8.6 May 11

Remote path traversal in GROWI v7.5.0 and earlier allows authenticated administrators to execute arbitrary EJS templates

CVE-2021-20670 HIGH
7.5 Mar 10

Improper access control vulnerability in GROWI versions v4.2.2 and earlier allows a remote unauthenticated attacker to r

CVE-2020-5683 HIGH
7.5 Dec 16

Directory traversal vulnerability in GROWI versions prior to v4.2.3 (v4.2 Series), GROWI versions prior to v4.1.12 (v4.1

CVE-2020-5682 HIGH
7.5 Dec 16

Improper input validation in GROWI versions prior to v4.2.3 (v4.2 Series), GROWI versions prior to v4.1.12 (v4.1 Series)

CVE-2020-5676 HIGH
7.5 Dec 03

GROWI v4.1.3 and earlier allow remote attackers to obtain information which is not allowed to access via unspecified vec

CVE-2019-13338 HIGH
7.5 Jul 09

In WESEEK GROWI before 3.5.0, a remote attacker can obtain the password hash of the creator of a page by leveraging wiki

CVE-2019-13337 HIGH
7.5 Jul 09

In WESEEK GROWI before 3.5.0, the site-wide basic authentication can be bypassed by adding a URL parameter access_token

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