CVE-2026-49467: TOTP enrollment hijack: password gate skipped due to unawaited promise
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
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Pingvin Share Xto a version that resolves this vulnerability.Fixed in 1.18.1 - Operational
If users were locked out due to the vulnerability, have an administrator manually reset the user's TOTP status in the database.
Event History
Frequently Asked Questions
What is the severity of CVE-2026-49467?
CVE-2026-49467 has a high severity score of 8.8.
How can I fix CVE-2026-49467?
To fix CVE-2026-49467, update Pingvin Share X to a version later than 1.18.0 that addresses this vulnerability.
What is the impact of CVE-2026-49467?
CVE-2026-49467 allows attackers to bypass password verification when managing TOTP settings, leading to potential unauthorized access.
Which versions are affected by CVE-2026-49467?
CVE-2026-49467 affects Pingvin Share X versions from 1.5.0 through 1.18.0.
What type of attack does CVE-2026-49467 enable?
CVE-2026-49467 enables TOTP enrollment hijacking by skipping the password verification step.