CVE-2026-25050: Vendure vulnerable to timing attack that enables user enumeration in NativeAuthenticationStrategy

Published Jan 30, 2026
·
Updated

Summary The NativeAuthenticationStrategy.authenticate() method is vulnerable to a timing attack that allows attackers to enumerate valid usernames (email addresses).

Details In packages/core/src/config/auth/native-authentication-strategy.ts, the authenticate method returns immediately if a user is not found:

typescript const user = await this.userService.getUserByEmailAddress(ctx, data.username); if (!user) { return false; // Instant return (~1-5ms) } const passwordMatch = await this.verifyUserPassword(ctx, user.id, data.password); // Password check takes ~200-400ms with bcrypt (12 rounds)

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.

Impact - Attackers can enumerate valid user accounts - Enables targeted brute-force or phishing attacks - Information disclosure (account existence)

Recommended Fix Perform a dummy bcrypt check when user is not found to ensure consistent response times.

Other sources

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.

MITRE

Affected Software

3 affected componentsFixes available
npm/vendure<3.5.3
npm/@vendure/core<3.5.3
3.5.3
Vendure Vendure<3.5.3

Event History

Jan 30, 2026
CVE Published
via MITRE·03:11 PM
Data Sourced
via MITRE·03:11 PM
DescriptionWeakness
Data Sourced
via NVD·04:16 PM
DescriptionSeverityWeakness
Data Sourced
via NVD·04:16 PM
Affected Software
Advisory Published
via GitHub·07:35 PM
Data Sourced
via GitHub·07:35 PM
DescriptionWeaknessAffected Software

Frequently Asked Questions

1

What is the severity of CVE-2026-25050?

CVE-2026-25050 is classified with a medium severity level due to its potential for user enumeration.

2

How do I fix CVE-2026-25050?

To remediate CVE-2026-25050, users should upgrade Vendure to version 3.5.3 or later.

3

What type of attack does CVE-2026-25050 involve?

CVE-2026-25050 involves a timing attack that allows for the enumeration of valid usernames.

4

Which software versions are affected by CVE-2026-25050?

CVE-2026-25050 affects Vendure versions prior to 3.5.3.

5

What components are impacted by CVE-2026-25050?

CVE-2026-25050 impacts the NativeAuthenticationStrategy in Vendure's authentication method.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203