fix(auth): add security hardening per code review

- Add timing-safe username comparison to prevent timing attacks
- Regenerate session on login to prevent session fixation
- Add warning log when session secret persistence fails
This commit is contained in:
kaitranntt
2026-01-13 16:23:10 -05:00
parent 39c1ee2ca0
commit a3a167e62a
2 changed files with 29 additions and 9 deletions
+3 -2
View File
@@ -56,8 +56,9 @@ function getSessionSecret(): string {
fs.mkdirSync(dir, { recursive: true });
}
fs.writeFileSync(SESSION_SECRET_PATH, newSecret, { mode: 0o600 });
} catch {
// If we can't persist, still return the secret for this session
} catch (err) {
// Log warning - sessions won't persist across restarts
console.warn('[!] Failed to persist session secret:', (err as Error).message);
}
return newSecret;