CVE-2026-49467

Summary

Pingvin Share X is a secure and easy self-hosted file sharing platform. A vulnerability in versions 1.5.0 through 1.18.0 allow an attacker to bypass password verification when managing Time-based One-Time Password (TOTP) settings. The root cause is a missing await keyword on calls to the asynchronous verifyPassword method in authTotp.service.ts and the authenticateUser method in auth.service.ts. In JavaScript, an unawaited Promise is always truthy. So the logic intended to throw a ForbiddenException when a password is incorrect. It never executes because the expression evaluates the existence of the Promise object rather than its resolved boolean result. The vulnerability is fixed in version 1.18.1 by ensuring all asynchronous authentication calls are properly awaited. There are no official workarounds. If a user is locked out, an administrator must manually reset the user's TOTP status in the database.

Affected Software

VendorProductVersion RangeStatus
smp46pingvin-share-x>= 1.5.0, < 1.18.1affected

Weaknesses

  • CWE-303: CWE-303: Incorrect Implementation of Authentication Algorithm
  • CWE-304: CWE-304: Missing Critical Step in Authentication

References