Skip to main content

GROWI CVE-2026-80191

| EUVDEUVD-2026-66213 HIGH
Missing Authorization (CWE-862)
2026-08-25 VulnCheck GHSA-c3h5-hg99-q693
8.7
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Obtain valid attachment identifier
  2. Delivery
    Send unauthenticated GET to /attachment/:id
  3. Exploit
    Handler skips permission check (no session)
  4. Execution
    Server returns file contents
  5. Impact
    Private page attachment exfiltrated

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

The attacker must possess a valid GROWI attachment identifier (a MongoDB ObjectID exposed in the /attachment/:id or /download/:id URL path). No authentication, special headers, or specific configuration is required - the bypass applies to all default GROWI deployments running versions before 8.0.2. Exploitation is limited to information disclosure: the attacker cannot write, modify, or delete content. The realistic limiting factor is identifier availability: former authorized users retain identifiers from their access period, and the identifiers may also have been exposed in browser history, server logs, or shared links. The vulnerability is not exploitable by a fully blind attacker who has never interacted with the GROWI instance and has no other path to obtain an identifier.

Impact

The CVSS 4.0 score of 8.7 with AV:N/AC:L/PR:N/UI:N accurately reflects that exploitation requires no authentication and no special technical complexity once an attachment identifier is in hand. The sole practical barrier to exploitation is identifier possession: an attacker needs to know or recover a valid attachment ID, which is feasible for former employees, leaked URLs, or browser history. EPSS data is not provided, limiting probabilistic exploitation forecasting. The vulnerability is not in the CISA KEV catalog and no public exploit code has been disclosed, suggesting it has not yet seen broad automated exploitation. Despite the high score, real-world risk is gated by identifier accessibility - organizations whose GROWI instances are only reachable internally, or whose attachment IDs have never leaked externally, face lower practical exposure than those serving GROWI publicly. The confidentiality-only impact (no integrity or availability) bounds the blast radius to information disclosure from private wiki pages.

Exploit ScenarioDerived

A former GROWI user whose account was deprovisioned retains browser history containing an attachment URL of the form https://wiki.example.com/attachment/64a3f2b1c8e9d0001234abcd. That user submits a GET request to the URL without any session cookie; because retrieveAttachmentFromIdParam skips the permission check for unauthenticated requests, the server responds with the file contents from the now-private page. The attacker extracts confidential documents without any credentials or active account.

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

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

Alert me

AnalysisAIv1 – Aug 26, 2026

Unauthenticated file disclosure in GROWI (all versions before 8.0.2) exposes private page attachments to any caller who possesses a valid attachment identifier. The route handler retrieveAttachmentFromIdParam in apps/app/src/server/routes/attachment/get.ts conditionally gates the page-viewer permission check on the presence of an authenticated session, meaning HTTP requests without a session entirely bypass authorization and receive the requested file. Both /attachment/:id and /download/:id endpoints are affected, and identifiers are obtainable by former users whose access was revoked or from any prior exposure of the attachment URL. No public exploit code has been identified at time of analysis, and this CVE is not listed in the CISA KEV catalog.

RemediationAI

Upgrade to GROWI v8.0.2, the vendor-released patch available at https://github.com/growilabs/growi/releases/tag/v8.0.2, which restructures retrieveAttachmentFromIdParam to enforce the isAccessiblePageByViewer check for all callers regardless of session state. If an immediate upgrade is not feasible, place an authentication-enforcing reverse proxy (such as nginx with auth_request or an OAuth proxy) in front of the /attachment/ and /download/ path prefixes to require a valid session before requests reach the GROWI application; this prevents unauthenticated bypass but adds a dependency on the proxy's own security posture. As a secondary measure, audit GROWI access logs for unauthenticated GET requests to /attachment/ and /download/ paths to detect prior exploitation. If the instance is publicly internet-exposed, consider temporarily restricting those routes by IP allowlist until the patch is applied.

Affected VersionsENISA

GROWI 0 <8.0.2

Affected Packages

euvd growi fix: 8.0.2

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 a Node.js-based team wiki platform whose attachment serving logic lives in apps/app/src/server/routes/attachment/get.ts. The vulnerable handler, retrieveAttachmentFromIdParam, resolves an attachment by its database identifier from the request path, then conditionally invokes an isAccessiblePageByViewer check - but only when req.user is non-null. This is a textbook CWE-862 (Missing Authorization) pattern: the guard exists but is not applied to all code paths. Unauthenticated HTTP requests carry no session object, so the condition evaluates false and the file is returned without any visibility check. The fix in v8.0.2 (PR #11756) restructures the logic to run the authorization check unconditionally for both authenticated and unauthenticated callers, with the sole bypass reserved for requests already certified by a valid share link via the certify-shared-page-attachment middleware. The same PR additionally ensures that a globally-disabled link-sharing setting (security:disableLinkSharing) prevents existing unexpired share link documents from still certifying attachment requests. CPE: cpe:2.3:a:growi,_inc.:growi:*:*:*:*:*:*:*:*.

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 8.7 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 7.5 HIGH

Network-reachable unauthenticated endpoint; no complexity beyond possessing an ID; confidentiality-only impact with no scope change.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:N/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
None
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

Lifecycle Timeline

2
Patch available
Sep 24, 2026 - 23:18 EUVD
CVE Published
Aug 25, 2026 - 23:18 cve.org
HIGH 8.7

DescriptionCVE.org

GROWI applies its page-viewer permission check to attachment requests only when the request carries an authenticated user. retrieveAttachmentFromIdParam in apps/app/src/server/routes/attachment/get.ts guards the check with a condition requiring the user to be non-null, so a request that carries no session skips the check entirely and the handler returns the file. The routes reached this way, /attachment/:id and /download/:id, take the attachment identifier from the path, so an unauthenticated caller who has an attachment identifier receives the file regardless of whether the page owning it is private and regardless of whether that caller would be permitted to view the page. Identifiers can be retained by a user whose access was later removed, or recovered from anywhere the identifier was previously exposed. Version 8.0.2 runs the check for authenticated and unauthenticated requests alike, skipping it only where a valid share link has already bound the requested file to that link's page.

Executive ViewAI

Why It Matters

GROWI versions prior to 8.0.2 contain an unauthenticated file disclosure vulnerability that exposes private page attachments to any caller with a valid attachment identifier. Organizations risk disclosure of confidential documents without authentication, including through former employee access or prior URL exposures.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.4%
Top 71% exploitable
Prevalence
Low
open-source wiki platform used primarily in Japanese enterprise teams
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 HIGH
CISA KEV No
Public POC No
EPSS 0.4%
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
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

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

CVE-2021-20671 HIGH
7.2 Mar 10

Invalid file validation on the upload feature in GROWI versions v4.2.2 allows a remote attacker with administrative priv

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