GHSA-qhxg-623c-cfjm

Suggest an improvement
Source
https://github.com/advisories/GHSA-qhxg-623c-cfjm
Import Source
https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/06/GHSA-qhxg-623c-cfjm/GHSA-qhxg-623c-cfjm.json
JSON Data
https://api.osv.dev/v1/vulns/GHSA-qhxg-623c-cfjm
Aliases
Published
2026-06-05T16:03:33Z
Modified
2026-07-20T21:30:41Z
Severity
  • 6.9 (Medium) CVSS_V4 - 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 CVSS Calculator
Summary
NocoDB: Plaintext Password Comparison in Shared Views
Details

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.

Database specific
{
    "cwe_ids":  [
        "CWE-200",
        "CWE-203"
    ],
    "github_reviewed":  true,
    "github_reviewed_at":  "2026-06-05T16:03:33Z",
    "nvd_published_at":  "2026-06-23T21:16:59Z",
    "severity":  "MODERATE"
}
References

Affected packages

npm / nocodb

Package

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0 Unknown introduced version / All previous versions are affected
Fixed
2026.05.1

Database specific

last_known_affected_version_range
"<= 2026.05.0"
source
"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/06/GHSA-qhxg-623c-cfjm/GHSA-qhxg-623c-cfjm.json"