Vendure vulnerable to timing attack that enables user enumeration in NativeAuthenticationStrategy
Summary
Vendure vulnerable to timing attack that enables user enumeration in NativeAuthenticationStrategy
Original description
The description as published by the source.
Vendure is an open-source headless commerce platform. Prior to version 3.5.3, the NativeAuthenticationStrategy.authenticate() method is vulnerable to a timing attack that allows attackers to enumerate valid usernames (email addresses). In packages/core/src/config/auth/native-authentication-strategy.ts, the authenticate method returns immediately if a user is not found. The significant timing difference (~200-400ms for bcrypt vs ~1-5ms for DB miss) allows attackers to reliably distinguish between existing and non-existing accounts. Version 3.5.3 fixes the issue.
Source: OSV.dev (Open Source Vulnerabilities) NVD GitHub Advisory OSV
References
- advisory github.com
- advisory github.com
- advisory nvd.nist.gov
- web github.com