GitHub Advisoryadvisory · npm

GHSA-qhxg-623c-cfjm NocoDB: Plaintext Password Comparison in Shared Views

MEDIUM Published 2026-06-05 Modified 2026-07-20 Official page ↗
Aliases
CVE-2026-47379
Ecosystem
npm
Packages
nocodb
Severity
Moderate
CVSS vector
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
Weaknesses
CWE-200, CWE-203
Reviewed
2026-06-05

Affected packages

• npm nocodb: < 2026.05.1 → fixed in 2026.05.1

Description

Summary The shared-view password check fell back to strict-equality (`===`) comparison for legacy plaintext passwords, leaking the password's length and per-character prefix through response timing. Details The bcrypt branch (hashes starting with `$2a$`/`$2b$`) was unaffected. The legacy fallback in `View.ts` now uses `crypto.timingSafeEqual` and a same-length dummy compare on the length-mismatch path, so total comparison time is approximately length-independent. The EE dashboard model's `verifyPassword` is patched the same way. Impact A network-positioned attacker could mount a timing oracle against shared views whose passwords predated the bcrypt migration. Exploitation requires the ability to time shared-view authentication responses but no prior authentication. Credit This issue was reported by @Proscan-one.

Related

Alias · CVE (1)

  • CVE-2026-47379 NocoDB is software for building databases as spreadsheets. vulnerability

Weakness · CWE (2)

  • CWE-200 Exposure of Sensitive Information to an Unauthorized Actor weakness
  • CWE-203 Observable Discrepancy weakness

References