Skip to main content

Sync-in Server EUVDEUVD-2026-84112

| CVE-2026-58271 MEDIUM
Improper Restriction of Excessive Authentication Attempts (CWE-307)
2026-09-21 GitHub_M GHSA-274f-6w77-8qm9
6.8
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Recon
    Obtain victim's valid password
  2. Delivery
    Loop TOTP guesses at /api/app/sync/register
  3. Exploit
    Lockout counter never increments
  4. Install
    Receive clientId/clientToken on hit
  5. C2
    Exchange token for full JWT
  6. Execute
    Disable MFA permanently
  7. Impact
    Full account takeover

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Brute-force prevention, rate limiting
Exploitation Conditions

Exploitation requires that the attacker already possess the victim's valid username and password (PR:L) and that the target account has 2FA/TOTP enabled - the flaw specifically defeats the second factor by preventing the failed-attempt counter from ever reaching USER_MAX_PASSWORD_ATTEMPTS (10) on the POST /api/app/sync/register desktop-sync path. Limiting factors: the attacker must brute-force a rotating 6-digit TOTP within its short validity window (reflected as AC:H), and must hold working first-factor credentials, so this is not exploitable against accounts for which the attacker lacks the password. Affected deployments are Sync-in Server instances prior to version 2.4.0.

Impact

This is a real, credible authentication-security issue but not a mass-exploitation emergency. The CVSS 3.1 vector (AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N, base 6.8) correctly captures a network-reachable flaw that nonetheless requires meaningful preconditions: AC:H reflects the need to brute-force a rotating 6-digit TOTP within its validity window, and PR:L reflects that the attacker must already possess the victim's valid username and password - the vulnerability defeats the second factor, not the first. Impact is genuine (C:H/I:H): a successful guess yields a clientToken exchangeable for a full JWT, and the attacker can then permanently disable MFA, i.e. full account takeover. No EPSS score, no CISA KEV listing, and no public POC were provided, so this is 'no public exploit identified at time of analysis' - treat exploitation as plausible-but-unproven rather than active. The 6.8 rating is broadly justified; the practical risk hinges entirely on whether an attacker has already obtained valid passwords (credential stuffing/phishing), so this is best prioritized as a defense-in-depth/MFA-integrity fix rather than an unauthenticated RCE-tier drop-everything issue.

Exploit ScenarioDerived

An attacker who has already harvested a Sync-in user's password (via phishing or a prior breach) but is blocked by 2FA repeatedly calls POST /api/app/sync/register with that password and guessed TOTP codes; because failed TOTP attempts never increment the lockout counter, the account is never locked and the code can be brute-forced. On a correct guess the server returns {clientId, clientToken}, which the attacker exchanges at POST /api/app/sync/auth/cookie for a full JWT and then calls POST /api/auth/2fa/disable to permanently strip MFA. No public exploit code is currently identified, but the attack requires only standard HTTP requests once valid credentials are held.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.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 21, 2026

Sync-in Server versions prior to 2.4.0 fail to increment the failed-attempt counter when a valid username and password are paired with an incorrect TOTP code on the desktop sync registration endpoint (POST /api/app/sync/register), so the account lockout threshold of 10 is never reached. An attacker who already possesses working first-factor credentials-and is targeting an account with 2FA enabled-can repeatedly guess the rotating 6-digit TOTP without triggering lockout; a successful guess yields a client ID and token that can be exchanged for a full JWT, after which the attacker can call POST /api/auth/2fa/disable to permanently remove MFA. Exploitation requires authenticated access (PR:L) and the high attack complexity (AC:H) reflects the need to guess a time-based code within its short validity window; no public exploit identified at time of analysis. This is a real, credible authentication-security issue but not a mass-exploitation emergency.

RemediationAI

Upgrade Sync-in Server to version 2.4.0 or later. The vendor-released patch in 2.4.0 fixes the failed-attempt counter logic so that the lockout threshold of 10 is properly enforced. The advisory at https://github.com/Sync-in/server/security/advisories/GHSA-274f-6w77-8qm9 contains upgrade instructions. As a compensating control if immediate upgrade is not possible, consider monitoring and rate-limiting requests to POST /api/app/sync/register at a reverse proxy or WAF, though this may affect legitimate sync client registrations; alternatively, temporarily disable desktop sync client registration for high-value accounts if the feature is not essential. Note that these workarounds do not address the underlying flaw and may introduce side effects such as blocking legitimate clients or reducing functionality.

Affected VersionsENISA

Server < 2.4.0

Affected Packages

npm @sync-in/server fix: 2.4.0
euvd server fix: 2.4.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in npm, euvd

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

Technical ContextAI · show details

The vulnerability resides in the desktop sync client registration flow of Sync-in Server, an open-source file storage, sharing, and collaboration platform. The endpoint POST /api/app/sync/register accepts a username, password, and TOTP code; on a failed TOTP, SyncClientsManager.register() invokes updateAccesses(user, ip, false), which unexpectedly enters a freeze branch that writes the passwordAttempts field back without incrementing it. Because the counter never reaches the constant USER_MAX_PASSWORD_ATTEMPTS (10), the lockout gate that would normally block further attempts is never triggered. This is a classic CWE-307 (Improper Restriction of Excessive Authentication Attempts) weakness. The affected product is identified by CPE cpe:2.3:a:sync-in:server:*:*:*:*:*:*:*:* (all versions before 2.4.0). Once a TOTP guess succeeds, the server returns a {clientId, clientToken} pair that can be exchanged at POST /api/app/sync/auth/cookie for a JWT, granting full API access. While that token remains valid, the attacker can also invoke POST /api/auth/2fa/disable to permanently disable multi-factor authentication for the victim account. The assessed CVSS v3.1 vector is CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N (score 6.8), reflecting network exploitation with high complexity and authenticated privileges.

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

Network-reachable endpoint (AV:N); attacker must already hold valid password (PR:L) and brute-force a time-limited TOTP (AC:H); account takeover yields C:H/I:H, no availability impact.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

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

Lifecycle Timeline

2
Patch available
Sep 21, 2026 - 21:17 EUVD
CVE Published
Sep 21, 2026 - 19:50 cve.org
MEDIUM 6.8

DescriptionCVE.org

Sync-in Server is an open-source platform for file storage, sharing, collaboration, and syncing. Prior to version 2.4.0, POST /api/app/sync/register accepts credentials and a TOTP code to register a desktop sync client. On a failed TOTP, SyncClientsManager.register() calls updateAccesses(user, ip, false), which hits a freeze branch that writes passwordAttempts back unchanged. The counter never reaches USER_MAX_PASSWORD_ATTEMPTS (10) and the lockout gate never fires. A successful guess returns a {clientId, clientToken} pair. The token can be exchanged via POST /api/app/sync/auth/cookie for a full JWT. While the code is valid, the attacker can also call POST /api/auth/2fa/disable to permanently remove MFA. Version 2.4.0 patches the issue.

Threat Intelligence Overview

EPSS Score
0.2%
Top 92% exploitable
Prevalence
Low
niche open-source self-hosted file-sync platform, limited production footprint
Threat Intel
1
1 source
Exploit
POC
Public exploit code exists
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 Yes
EPSS 0.2%
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
Scheduled
Exploitation· derived
Poc
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

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

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

More in Server

View all
CVE-2018-1000881 CRITICAL POC
9.8 Dec 20

Traccar Traccar Server version 4.0 and earlier contains a CWE-94: Improper Control of Generation of Code ('Code Injectio

CVE-2026-60104 CRITICAL POC
9.3 Jul 08

Account takeover in self-hosted Bitwarden Server before 2026.6.0 lets a low-privileged organization member steal any oth

CVE-2026-54047 CRITICAL POC
9.2 Sep 11

Full user impersonation in the Laci Synchroni sync server (backend prior to 1.2.3) lets an attacker take over any accoun

CVE-2026-43639 HIGH POC
8.9 May 11

Provider service users in Bitwarden Server Cloud can hijack arbitrary organizations via unauthorized API endpoint access

CVE-2021-42973 HIGH POC
8.8 Dec 07

NoMachine Server is affected by Integer Overflow. Rated high severity (CVSS 8.8), this vulnerability is low attack compl

CVE-2021-42972 HIGH POC
8.8 Dec 07

NoMachine Server is affected by Buffer Overflow. Rated high severity (CVSS 8.8), this vulnerability is low attack comple

CVE-2026-43640 HIGH POC
8.6 May 11

Authentication bypass in Bitwarden Server versions prior to 2026.4.1 allows authenticated users with SCIM management pri

CVE-2019-25609 HIGH POC
8.6 Mar 22

JetAudio jetCast Server 2.0 contains a stack-based buffer overflow vulnerability in the Log Directory configuration fiel

CVE-2026-58269 HIGH POC
8.1 Sep 21

Credential-holding attackers can completely bypass TOTP two-factor authentication on Sync-in Server versions prior to 2.

CVE-2023-30223 HIGH POC
7.5 Jun 16

A broken authentication vulnerability in 4D SAS 4D Server software v17, v18, v19 R7, and earlier allows attackers to sen

CVE-2023-30222 HIGH POC
7.5 Jun 16

An information disclosure vulnerability in 4D SAS 4D Server Application v17, v18, v19 R7 and earlier allows attackers to

CVE-2026-57520 HIGH POC
7.1 Jun 25

Privilege escalation in self-hosted Bitwarden Server before 2026.5.0 lets an authenticated organization member holding a

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