CVE-2026-41161: Sync-in Server username enumeration via timing attack in login endpoint

CVE-2026-41161 · Severity: medium · CVSS 5.3 · Published 2026-05-08

Sync-in Server's login endpoint leaks information about valid usernames through response time differences. An attacker can measure how long the server takes to respond and determine whether a username exists in the system, without needing credentials. This weakness enables attackers to build a list of valid users, making targeted brute-force attacks and social engineering campaigns more effective.

Technologies: @sync-in/server (npm). Vendors: npm.

Quick answers

Is CVE-2026-41161 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-41161 being exploited in the wild.
How severe is CVE-2026-41161?
Medium severity, with a CVSS score of 5.3, published 8 May 2026.
Which products and versions are affected?
@sync-in/server (npm) <= 2.1.0, SEMVER:introduced=0,fixed=2.2.0; Sync-in <= 2.1.0.
Is there a fix for CVE-2026-41161?
Yes. @sync-in/server (npm): upgrade to 2.2.0 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-41161 attacked?
It is attacked over the network, in a web application.
Am I affected by CVE-2026-41161?
Check whether you run @sync-in/server (npm) or Sync-in at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • @sync-in/server (npm): upgrade to 2.2.0 or later
    npm install @sync-in/server@2.2.0

Technical details

The /api/auth/login endpoint in the users-queries.service.ts file contains a timing-oracle vulnerability (CWE-208) in the compareUserPassword function. When a username does not exist, the function returns early without querying the password hash, causing a significant response-time discrepancy compared to valid usernames (95-100ms vs 350-400ms average). An unauthenticated attacker can enumerate valid usernames by sending login requests and measuring response times; this attack vector is network-based with no authentication or user interaction required. The fix, released in version 2.2.0, ensures consistent response timing regardless of username validity, preventing attackers from distinguishing between valid and invalid accounts through timing analysis.

Affected products

  • Sync-in @sync-in/server <= 2.1.0
  • Sync-in syncin/server (Docker) <= 2.1.0

Identifiers

  • CVE-2026-41161
  • GHSA-43fj-qp3h-hrh5

Timeline

  • 2026-04-15: disclosed
  • 2026-04-14: patched: Fixed in v2.2.0

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.