Description
There is a security risk with TOTP. I have bound my mobile authenticator to the server-side instance of triliumnext/trilium:v0.102.2. The web interface does require both a password and TOTP to log in, which helps prevent security issues.
However, when the Trilium desktop client connects to the server, it can synchronize all data simply by entering the server URL. No TOTP code is requested, no password verification is shown, and all data is synchronized directly. This is insecure.
If used over the public network, there is no security at all. Anyone can use the client to steal all server data directly. Furthermore, an attacker can clear their local data and then sync with the server, resulting in complete data loss on the server.
Suggestions:
Require password + TOTP authentication on the first sync after the client is opened. Once verified, the client should not ask for re-authentication unless the app is closed, quit, and restarted to sync data again.
Add brute-force protection to the login page, with a login delay after consecutive incorrect password or TOTP attempts.
TriliumNext Version
v0.102.2
What operating system are you using?
Windows
What is your setup?
Local + server sync
Operating System Version
linux
Error logs
No response
Description
There is a security risk with TOTP. I have bound my mobile authenticator to the server-side instance of triliumnext/trilium:v0.102.2. The web interface does require both a password and TOTP to log in, which helps prevent security issues.
However, when the Trilium desktop client connects to the server, it can synchronize all data simply by entering the server URL. No TOTP code is requested, no password verification is shown, and all data is synchronized directly. This is insecure.
If used over the public network, there is no security at all. Anyone can use the client to steal all server data directly. Furthermore, an attacker can clear their local data and then sync with the server, resulting in complete data loss on the server.
Suggestions:
Require password + TOTP authentication on the first sync after the client is opened. Once verified, the client should not ask for re-authentication unless the app is closed, quit, and restarted to sync data again.
Add brute-force protection to the login page, with a login delay after consecutive incorrect password or TOTP attempts.
TriliumNext Version
v0.102.2
What operating system are you using?
Windows
What is your setup?
Local + server sync
Operating System Version
linux
Error logs
No response