Skip to main content

Nextcloud Twofactor WebAuthn CVE-2025-66558

| EUVDEUVD-2025-201460 MEDIUM
Authorization Bypass Through User-Controlled Key (CWE-639)
2025-12-05 security-advisories@github.com
4.3
CVSS 3.1 · NVD
View

Attack ChainAIDerived

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

  1. Access
    Access authenticated Nextcloud registration flow
  2. Exploit
    Supply victim's WebAuthn credential ID
  3. Execution
    Bypass missing user_handle ownership check
  4. Impact
    Remove victim's 2FA device, forcing re-registration

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2021 - Vulnerable and Outdated Components
ASVS 5.0
V14 - Configuration Dependency management, component inventory
Exploitation Conditions

Exploitation requires the attacker to know or supply the victim's WebAuthn public_key_credential_id - an 80-128 character random string of letters, numbers, and symbols - which is high-entropy and not normally exposed, making brute-force guessing practically infeasible (this is the dominant limiting factor). The flaw is reached through the WebAuthn device registration/finish flow (finishRegister / WebauthnPublicKeyCredentialSourceRepository), where the user_handle ownership check was absent. Further limits: the attacker almost certainly needs an authenticated registration session, the impact is confined to removing the victim's 2FA device (forcing re-registration) and does NOT enable authenticating as the victim, and only versions prior to 1.4.2 (1.x branch) and 2.4.1 (2.x branch) are affected.

Impact

This is a low real-world priority despite its 'MEDIUM' CVSS 4.3 rating. The signals are consistent and all point low: EPSS is 0.02% (4th percentile), there is no CISA KEV listing (no active exploitation), and no public exploit code was identified - only a HackerOne disclosure report. Critically, the NVD vector rates AC:L, but this conflicts with the description: successful exploitation requires 'correctly guessing a 80-128 character long random string of letters, numbers and symbols' (the WebAuthn public_key_credential_id). Brute-forcing a high-entropy value of that length is computationally infeasible, so the practical attack complexity is effectively HIGH, not LOW - this discrepancy should be noted when prioritizing. The impact ceiling is also low (I:L, C:N, A:N): the description explicitly states 'The attacker can not authenticate as the victim'; the worst outcome is forcibly removing a victim's 2FA device, which merely prompts the victim to re-register on next login. This is a legitimate broken-object-level-authorization bug (CWE-639) worth patching, but it is a high-CVSS-but-low-real-risk issue, not an urgent threat.

Exploit ScenarioDerived

An attacker who can reach the Nextcloud WebAuthn device-registration flow submits a public_key_credential_id belonging to a victim; because the ownership (user_handle) check is missing, the backend acts on the victim's credential entity and removes the victim's 2FA device, forcing them to re-register on next login. In practice this requires knowing or guessing the victim's 80-128 character high-entropy credential ID, so brute-force exploitation is infeasible. No public exploit code was identified at time of analysis, though the issue was responsibly disclosed via HackerOne report 3360354.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.0% exploitation probability (EPSS)

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

Alert me

AnalysisAIv2 – Oct 15, 2026

Nextcloud Twofactor WebAuthn before 1.4.2 and 2.4.1 allows an authenticated attacker who knows a victim's high-entropy WebAuthn public key credential ID to remove that victim's registered two-factor authentication device through a missing ownership check, forcing the victim to re-register a device on next login. The attacker cannot authenticate as the victim, and the dominant limiting factor is the 80-128 character random credential ID, which is not normally exposed and makes guessing practically infeasible; the independent assessment considers this a low real-world priority despite the vendor's CVSS 4.3 rating. No public exploit is identified at time of analysis, EPSS is 0.02% (4th percentile), and no CISA KEV entry is present.

Earlier versions of this analysis (1)
v1 Mar 15, 2026 - 17:08 CVSS 3.1

RemediationAI

Upgrade Nextcloud Twofactor WebAuthn to 1.4.2 on the 1.x branch or 2.4.1 on the 2.x branch; these are the vendor-released fixed versions, and the corresponding upstream fix is in commit 5d2302166d31ee2e01b2e21556bd5372156da13d and PR 881. Apply the vendor advisory GHSA-fr8x-mvjg-wf9q and patch as soon as possible. If immediate upgrade is not possible, restrict access to WebAuthn device management and registration/finish endpoints to trusted users or networks and monitor for unexpected removal of WebAuthn devices, but note these are only compensating controls and do not address the missing user_handle ownership check; disabling WebAuthn 2FA entirely would reduce exposure but removes a stronger authentication factor and should be a last resort.

Affected VersionsENISA

security-advisories 2.0.0-beta.1, < 2.4.1
security-advisories < 1.4.2

Affected Packages

euvd security_advisories fix: 1.4.2
euvd security_advisories_2_0_0_beta_1 fix: 2.4.1

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

This is a CWE-639 authorization bypass through user-controlled key in Nextcloud's Twofactor WebAuthn provider. The vulnerable code path is in PublicKeyCredentialEntityMapper::findPublicKeyCredential(), which looked up a WebAuthn public key credential by public_key_credential_id alone; the fix adds an andWhere on user_handle and threads the userId through WebauthnPublicKeyCredentialSourceRepository and WebAuthnManager::finishRegister(). Affected CPEs are cpe:2.3:a:nextcloud:two-factor_webauthn:*:*:*:*:*:*:*:*, covering the 1.x and 2.x branches, with EUVD listing versions <1.4.2 and >=2.0.0-beta.1 <2.4.1. The flaw is reached through the WebAuthn device registration/finish flow; because the credential ID is a high-entropy 80-128 character random string and is not normally exposed, the assessed vector uses AC:H and PR:L rather than treating this as a remotely exploitable unauthenticated issue, and impact is limited to removing the victim's 2FA device rather than account takeover.

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

NVD PRIMARY 4.3 MEDIUM
AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N
vuln.today AI 3.1 LOW

Guessing the 80-128-char credential ID is infeasible (AC:H) and triggering registration needs an authenticated session (PR:L); impact is only removal of a victim's 2FA device, so I:L with no C/A.

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

Primary rating from NVD.

CVSS VectorNVD

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

Lifecycle Timeline

4
Severity Changed
Oct 15, 2026 - 21:25 NVD
LOW MEDIUM
CVSS changed
Oct 15, 2026 - 21:25 NVD
3.1 (LOW) 4.3 (MEDIUM)
Patch released
Mar 15, 2026 - 17:08 nvd
Patch available
CVE Published
Dec 05, 2025 - 18:15 nvd
LOW 3.1

DescriptionNVD

Nextcloud Twofactor WebAuthn is the WebAuthn Two-Factor Provider for Nextcloud. Prior to 1.4.2 and 2.4.1, a missing ownership check allowed an attack to take-away a 2FA webauthn device when correctly guessing a 80-128 character long random string of letters, numbers and symbols. The victim would then be prompted to register a new device on the next login. The attacker can not authenticate as the victim. This vulnerability is fixed in 1.4.2 and 2.4.1.

Executive ViewAI

Why It Matters

CVE-2025-66558 is a low-severity vulnerability in Nextcloud Twofactor WebAuthn (CVSS 3.1). The limited severity suggests constrained impact, typically requiring specific conditions or local access for exploitation. A patch is available and can be applied during standard maintenance windows.

Business Impact: Low
Compensating Controls

Apply vendor patch during routine maintenance. Standard security controls provide adequate interim protection.

Threat Intelligence Overview

EPSS Score
0.0%
Top 96% exploitable
Prevalence
Low
optional Nextcloud two-factor WebAuthn app, limited install base
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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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
Defer
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
Low

Priority Score

22
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +22
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-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-110447 CRITICAL POC
9.2 Oct 14

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

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