Shiori's CheckToken function (internal/domains/auth.go) validates only the JWT's HMAC signature...
Summary
Shiori's CheckToken function (internal/domains/auth.go) validates only the JWT's HMAC signature...
Original description
The description as published by the source.
Shiori's CheckToken function (internal/domains/auth.go) validates only the JWT's HMAC signature and returns the embedded claims.Account object unmodified, never re-fetching the account from the database. No session store or token-revocation mechanism exists in the codebase. Deleting an account or demoting it from owner to a regular role has no effect on tokens already issued to that account — a deleted or demoted owner's token continues authenticating with its original owner-level privileges until natural expiry, which can be up to 30 days with 'remember me' enabled.
Source: NIST National Vulnerability Database NVD GitHub Advisory
AI summary
Written by an external AI model and may contain mistakes. Check the original description and references below before acting on it.
ShioriのCheckToken関数がJWTのHMAC署名のみを検証し、アカウント情報を再取得しません。このため、削除されたアカウントでもトークンが有効のままになります。
JWTのHMAC署名を検証するだけで、アカウント情報を再取得しない問題。
ShioriのCheckToken関数 (internal/domains/auth.go)
アカウントが削除またはデモートされてもトークンが有効なため、高いセキュリティリスクがあります。
トークン検証時にアカウント情報をデータベースから再取得するよう修正し、トークン失効メカニズムを実装する。
トークンの有効期限を短く設定し、手動でのトークン管理を検討する。
発行済みトークンを検証し、アカウント変更が反映されていないものを確認する。
References
- web github.com
- web nvd.nist.gov
- web github.com