Skip to main content

Nextcloud 3D Viewer CVE-2026-104189

| EUVDEUVD-2026-111082 HIGH
Missing Authentication for Critical Function (CWE-306)
2026-10-27 GitHub_M
7.5
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Obtain leaked share token from chat/email/ticket
  2. Exploit
    Call threedviewer public file endpoint with token and fileId
  3. Execution
    Bypass PublicShareMiddleware password check
  4. Impact
    Receive 200 with full 3D model file body

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Authentication required for critical functions
MITRE ATT&CK

1 technique across 1 tactic: Initial Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires: (1) the threedviewer app installed and enabled on the Nextcloud instance at a vulnerable version (1.7.9 through 3.3.1); (2) an existing link share whose password protection the attacker wants to bypass; (3) attacker knowledge of the share token (the token in the shared URL) and the target fileId; and (4) the shared content being one of the app's supported 3D formats (STL, GLB/glTF, OBJ, STEP, IFC and other supported 3D types). Limiting factors confirmed by the advisory: non-3D files in the same share are unaffected, and expired shares return 500 rather than leaking contents, so only live, password-protected shares of 3D-format files are exposed. No password, session, or user interaction is needed once the token is known.

Impact

This is a genuine, easy-to-exploit confidentiality flaw but with a narrow blast radius. The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N, C:H) is internally consistent with the description: a remote, unauthenticated attacker who merely knows a share token can retrieve the full file body from a password-protected link share over the network with no special complexity. The signals align rather than conflict - the advisory confirms the mechanism (CWE-306 missing authorization, compounded by CWE-863), the vendor confirms a fix in 3.3.2, and the vuln.today decision label is 'this_week' (not act_now/emergency). No EPSS score was provided and the input does not list KEV status, so this is treated as not in CISA KEV: no public exploit identified at time of analysis, and no evidence of active exploitation. The practical risk is bounded by two description-confirmed facts: the leak is limited strictly to the 3D file formats the app handles (STL, GLB/glTF, OBJ, STEP, IFC and other supported 3D types), and the attacker must already possess the share token. This is therefore a real priority for sites running the app with password-protected 3D shares, but its real-world risk is lower than the raw 7.5 suggests because it depends on a niche third-party plugin being installed and on 3D-format content being shared with password protection.

Exploit ScenarioDerived

An attacker obtains a Nextcloud link-share token that was pasted into a chat, email, or ticket but is supposed to be protected by a share password. Instead of hitting the share page (which correctly redirects to the password prompt), the attacker sends GET /ocs/v2.php/apps/threedviewer/public/file/{token}/{fileId} and receives a 200 with the full 3D model file body, bypassing the password entirely. No public exploit code is identified, but the advisory documents the exact request needed.

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 – Oct 28, 2026

Password-protected link shares in the 3D Viewer for Nextcloud app (versions 1.7.9 through 3.3.1) can be read without any password or session by anyone who knows the share token, via GET /ocs/v2.php/apps/threedviewer/public/file/{token}/{fileId}. The app's public controller was not a Nextcloud PublicShareController, so the framework's PublicShareMiddleware returned early and never enforced the share password, expiry, or share type; requests returned 200 with the full file body for shares whose normal Nextcloud share page still prompted for a password. Exposure is limited to files in the 3D formats the app handles (STL, GLB/glTF, OBJ, STEP, IFC and similar); non-3D files in the same share are unaffected and expired shares return 500 rather than leaking content. No public exploit code was identified at time of analysis; the vendor fixed the issue in 3.3.2.

RemediationAI

Vendor-released patch: 3.3.2 - upgrade the threedviewer app to 3.3.2 (or later) from the release at https://github.com/maz1987in/3Dviewer-Nextcloud/releases/tag/v3.3.2, which makes PublicFileController a PublicShareController with isValidToken()/isPasswordProtected()/getPasswordHash() and adds share-type, expiry and ShareNotFound handling in ShareFileService::findValidLinkShare(). The fixing changes are in commits 1b0ca86ff9a96b4e045cb379bc8b8c2fe05f2fae and 2cfef0326afc56112b948b3fdf7e5c873fab4104 as referenced in advisory GHSA-gjh8-x4wm-3cfj. If upgrading is not immediately possible, the vendor's documented workaround is to disable the app with occ app:disable threedviewer (which removes the 3D viewer from Nextcloud entirely, including legitimate viewing) or to avoid relying on passwords to protect link shares that contain 3D model files until the upgrade can be applied (which leaves those shares exposed to anyone holding the token). Because exploitation requires only knowledge of the share token, treat any token that has been shared in chats, emails or tickets as potentially disclosed and rotate or re-create affected link shares after patching.

Affected VersionsENISA

3Dviewer-Nextcloud 1.7.9, < 3.3.2

Affected Packages

euvd 3dviewer_nextcloud fix: 3.3.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

The 3D Viewer is a PHP/Nextcloud AppFramework application (app id threedviewer, namespace OCA\ThreeDViewer) that streams 3D model files to a Vue/Three.js front end; its public streaming route is declared #[PublicPage] on PublicFileController, which extended OCP\AppFramework\Controller rather than OCP\AppFramework\PublicShareController. Nextcloud implements share password enforcement in PublicShareMiddleware, which deliberately returns early for any controller that is not a PublicShareController instance, so no password, expiry, or share-type validation ran on these routes. The root cause class is CWE-306 (missing authentication for a critical function), with the advisory also classifying it as CWE-863 (incorrect authorization): ShareFileService::loadLinkShare() treated any token matched by getShareByToken() as authorised, conflating token possession with authorization. The fix in 3.3.2 makes the controller extend PublicShareController and implement isValidToken(), isPasswordProtected() and getPasswordHash() so validation and brute-force throttling are delegated to the framework, and adds findValidLinkShare(), which rejects non-link/non-email share types, rejects expired shares, and treats ShareNotFound as 'no share' instead of surfacing a 500. The flaw was introduced in commit 1b0ca86 (2025-09-15).

Know when Nextcloud 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 7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
vuln.today AI 7.5 HIGH

Remote token-only access with no password or session gives AV:N/AC:L/PR:N/UI:N; full file body disclosure is C:H, with no integrity or availability impact.

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 (GitHub_M).

CVSS VectorVendor: GitHub_M

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

Lifecycle Timeline

2
Patch available
Oct 27, 2026 - 16:18 EUVD
CVE Published
Oct 27, 2026 - 15:22 cve.org
HIGH 7.5

DescriptionCVE.org

The 3D Viewer for Nextcloud is a comprehensive 3D model viewer application for Nextcloud that supports multiple 3D file formats. In versions 1.7.9 through 3.3.1, the app's public file endpoint performed no share authorization. Anyone who knows a share token could read the shared file's contents even when the link share was protected by a password. PublicFileController extended OCP\AppFramework\Controller and marked its routes #[PublicPage]. Nextcloud only enforces share passwords through PublicShareMiddleware, which returns early for any controller that is not an OCP\AppFramework\PublicShareController instance - so no password, expiry, or share-type check ran for these routes. ShareFileService::loadLinkShare() compounded this by treating any token that getShareByToken() matched as authorised. A share token is the part of the URL that people paste into chats, emails, and tickets. Password protection exists precisely for the case where holding the token should not by itself grant access, and that guarantee did not hold. Requests to GET /ocs/v2.php/apps/threedviewer/public/file/{token}/{fileId} returned 200 with the full file body for password-protected shares, with no password and no session. Nextcloud's own share page correctly redirected such requests to the password prompt. Scope is limited to files in the formats this app handles (STL, GLB/glTF, OBJ, STEP, IFC, and the other supported 3D types). Non-3D files in the same share are unaffected. Expired shares returned 500 rather than leaking contents. This issue is fixed in 3.3.2. PublicFileController now extends PublicShareController and implements isValidToken(), isPasswordProtected(), and getPasswordHash(), delegating password and token validation to the framework and gaining brute-force throttling. ShareFileService::findValidLinkShare() additionally rejects share types other than link and email, rejects expired shares, and treats a ShareNotFound from the share manager as "no share" instead of letting it surface as a 500. As a workaround, disable the 3D Viewer app (occ app:disable threedviewer), or avoid relying on passwords to protect link shares that contain 3D model files, until you can upgrade.

Technical POC Analysis

CWE-306 (Missing Authentication for Critical Function), with the advisory also tagging CWE-863.

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

A high-severity vulnerability in the Nextcloud 3D Viewer app (versions 1.7.9 through 3.3.1) allows anyone who knows a share token to bypass password protection and download 3D model files without authentication. This exposes sensitive design or engineering data to unauthorized access, undermining the confidentiality of password-protected shares. Leadership should care because intellectual property and confidential project files may be at risk, and the issue affects all organizations using the app for secure file sharing.

Business Impact: High
Compensating Controls

Apply vendor patch: upgrade to 3D Viewer version 3.3.2.

Threat Intelligence Overview

EPSS Score
0.4%
Top 71% exploitable
Prevalence
Low
niche third-party Nextcloud community app, limited production footprint
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· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
High

Priority Score

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

CVE-2026-110447 CRITICAL POC
9.2 Oct 14

Unauthenticated OS command injection in the Collabora Online Built-in CODE Server Nextcloud app (richdocumentscode) befo

CVE-2023-26482 HIGH POC
8.8 Mar 30

Nextcloud server is an open source home cloud implementation. Rated high severity (CVSS 8.8), this vulnerability is remo

CVE-2020-8180 CRITICAL POC
9.9 Jun 08

A too lax check in Nextcloud Talk 6.0.4, 7.0.2 and 8.0.7 allowed a code injection when a not correctly sanitized talk co

CVE-2023-48306 CRITICAL POC
9.8 Nov 21

Nextcloud Server provides data storage for Nextcloud, an open source cloud platform. Rated critical severity (CVSS 9.8),

CVE-2026-55640 CRITICAL POC
9.1 Aug 25

Unauthenticated vector-store tampering in Nextcloud MCP Server before 0.117.2 lets any network attacker who can reach th

CVE-2016-9463 HIGH POC
8.1 Mar 28

Nextcloud Server before 9.0.54 and 10.0.1 & ownCloud Server before 9.1.2, 9.0.6, and 8.2.9 suffer from SMB User Authenti

CVE-2023-31128 HIGH POC
8.8 May 26

NextCloud Cookbook is a recipe library app. Rated high severity (CVSS 8.8), this vulnerability is remotely exploitable,

CVE-2023-28643 HIGH POC
8.8 Mar 30

Nextcloud server is an open source home cloud implementation. Rated high severity (CVSS 8.8), this vulnerability is remo

CVE-2021-22879 HIGH POC
8.8 Apr 14

Nextcloud Desktop Client prior to 3.1.3 is vulnerable to resource injection by way of missing validation of URLs, allowi

CVE-2019-12739 HIGH POC
8.8 Jun 05

lib/Controller/ExtractionController.php in the Extract add-on before 1.2.0 for Nextcloud allows Remote Code Execution vi

CVE-2026-22683 HIGH POC
8.7 Apr 07

Authorization bypass in Windmill 1.56.0-1.614.0 enables Operator role users to escalate privileges to remote code execut

CVE-2020-8259 HIGH POC
8.1 Nov 16

Insufficient protection of the server-side encryption keys in Nextcloud Server 19.0.1 allowed an attacker to replace the

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