Shared view passwords were stored in plaintext in the database and compared using direct string equality.
The password column in nc_views stored unhashed passwords. Verification used !== comparison across public-datas.service.ts, public-metas.service.ts, and calendar-datas.service.ts.
If the database is compromised, shared view passwords are immediately readable. Risk is limited to password reuse scenarios.
This issue was reported by @Tulgaaaaaaaa.
{
"github_reviewed_at": "2026-03-02T19:52:57Z",
"github_reviewed": true,
"severity": "LOW",
"nvd_published_at": "2026-03-02T17:16:34Z",
"cwe_ids": [
"CWE-256"
]
}