CVE-2026-25050: @vendure/core Vendure Vulnerable To Timing Attack Vulnerability
LOWCVE-2026-25050 is a LOW vendure vulnerable to timing attack vulnerability (CWE-202: Exposure of Sensitive Information Through Data Queries) affecting @vendure/core libraries in the npm ecosystem. The issue involves vendure vulnerable to timing attack that enables user enumeration in nativeauthenticationstrategy. Remediation is available by upgrading affected packages to version 3.5.3.
CVE-2026-25050 at a Glance
How to Fix CVE-2026-25050
To remediate this vulnerability, upgrade all affected @vendure/core dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.
npm install @vendure/core@3.5.3
Run the following command in your project directory to verify that all resolved dependencies use the patched release:
npm ls @vendure/core
How to Check if You Are Affected
To determine whether your Node.js application is affected by CVE-2026-25050, inspect your project dependencies using npm:
npm ls @vendure/core
Analyze the terminal output to locate any version of @vendure/core in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 3.5.3), your application is affected.
Note: The npm ls @vendure/core command inspects dependencies declared in your package.json and lockfile; it does not perform automated runtime dynamic scanning.
Technical Details
Vulnerability Mechanism & Technical Analysis
This vulnerability is classified under CWE-202: Exposure of Sensitive Information Through Data Queries, where when trying to keep information confidential, an attacker can often infer some of the information by using statistics. In @vendure/core, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.
Source Advisory Statement
CVE-2026-25050 Affected @vendure/core Versions
1 component(s)| Product / Package | Ecosystem | Affected Versions | Fixed Version |
|---|---|---|---|
|
@vendure/core
|
npm |
< 3.5.3
|
3.5.3
|
References
Frequently Asked Questions
What is CVE-2026-25050?
Which @vendure/core versions are affected?
What version fixes CVE-2026-25050?
Is @vendure/core affected?
What CWE is associated with CVE-2026-25050?
How can I check npm dependencies for CVE-2026-25050?
Machine-readable OSV JSON
OSV v1.5 Schema
{
"schema_version" : "1.4.0",
"id" : "GHSA-6f65-4fv2-wwch",
"modified" : "2026-01-30T19:35:40Z",
"published" : "2026-01-30T19:35:40Z",
"aliases" : [ "CVE-2026-25050" ],
"summary" : "Vendure vulnerable to timing attack that enables user enumeration in NativeAuthenticationStrategy",
"details" : "### Summary\nThe `NativeAuthenticationStrategy.authenticate()` method is vulnerable to a timing attack that allows attackers to enumerate valid usernames (email addresses).\n\n### Details\nIn `packages/core/src/config/auth/native-authentication-strategy.ts`, the authenticate method returns immediately if a user is not found:\n\n```typescript\nconst user = await this.userService.getUserByEmailAddress(ctx, data.username);\nif (!user) {\n return false; // Instant return (~1-5ms)\n}\nconst passwordMatch = await this.verifyUserPassword(ctx, user.id, data.password);\n// Password check takes ~200-400ms with bcrypt (12 rounds)\n```\n\nThe significant timing difference (~200-400ms for bcrypt vs ~1-5ms for DB miss) allows attackers to reliably distinguish between existing and non-existing accounts.\n\n### Impact\n- Attackers can enumerate valid user accounts\n- Enables targeted brute-force or phishing attacks\n- Information disclosure (account existence)\n\n### Recommended Fix\nPerform a dummy bcrypt check when user is not found to ensure consistent response times.",
"severity" : [ {
"type" : "CVSS_V4",
"score" : "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:U"
} ],
"affected" : [ {
"package" : {
"ecosystem" : "npm",
"name" : "@vendure/core"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "0"
}, {
"fixed" : "3.5.3"
} ]
} ]
} ],
"references" : [ {
"type" : "WEB",
"url" : "https://github.com/vendurehq/vendure/security/advisories/GHSA-6f65-4fv2-wwch"
}, {
"type" : "ADVISORY",
"url" : "https://nvd.nist.gov/vuln/detail/CVE-2026-25050"
}, {
"type" : "WEB",
"url" : "https://github.com/vendurehq/vendure/commit/7f0c5556ecddb44a5d5208677a45fdd5923b0cc9"
}, {
"type" : "PACKAGE",
"url" : "https://github.com/vendurehq/vendure"
}, {
"type" : "WEB",
"url" : "https://github.com/vendurehq/vendure/releases/tag/v3.5.3"
} ],
"database_specific" : {
"cwe_ids" : [ "CWE-202" ],
"severity" : "LOW",
"github_reviewed" : true,
"github_reviewed_at" : "2026-01-30T19:35:40Z",
"nvd_published_at" : "2026-01-30T16:16:13Z"
}
}