mirror of
https://github.com/go-shiori/shiori.git
synced 2026-04-25 06:25:54 +03:00
[GH-ISSUE #1138] No restriction on password attempts allows for brute-force attacks #469
Labels
No labels
component:backend
component:builds
component:builds
component:extension
component:frontend
component:readability
database
database:mysql
database:postgres
database:sqlite
feature:ebooks
github_actions
good first issue
hacktoberfest
note:duplicate?
note:fixed?
note:out-of-scope?
os:windows
priority:high
priority:low
pull-request
resolution:as-intended
resolution:cant-reproduce
resolution:duplicate
resolution:fixed
resolution:wontfix
tag:TBD
tag:big-task
tag:help-wanted
tag:huge-data
tag:meta
tag:more-info
tag:next
tag:no-stale
tag:requires-migrations
tag:research
tag:security 🛡️
tag:stale
tag:waiting-for-assignee
type:bug
type:documentation
type:enhancement
type:meta
type:ux
user:cli
user:web
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/shiori#469
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @vityuasd on GitHub (Aug 28, 2025).
Original GitHub issue: https://github.com/go-shiori/shiori/issues/1138
Data
Describe the bug / actual behavior
No restriction on password attempts allows for brute-force attacks.
Expected behavior
Brute-force until successful login.
To Reproduce
Screenshots
@mirkoperillo commented on GitHub (Aug 29, 2025):
In my opinion there are other tools (like to fail2ban for example, or a reverse proxy) that can be used to monitor this misbehavior.
The codebase of shiori should implement only the features strictly related to its scope (bookmark management).
My 2 cents.
@vityuasd commented on GitHub (Aug 29, 2025):
@mirkoperillo Really appreciate you sharing your thoughts.
I totally get that tools like failp2ban are super useful for tech-savvy users, but if we only depend on external solutions, we're kinda putting the security responsibility on everyday users — and let's be honest, most folks might not even know this is a risk or how to set things up properly.
That's why even basic protection, like limiting login attempts, should be a must for pretty much any web app, especially if it deals with user data.
I mean, just look at standards like CWE-307 (you know, the one called "Improper Restriction of Excessive Authentication Attempts"). It shows this isn't some rare edge case, but a real and widely recognized security requirement.
Thanks again for your reply!
@mirkoperillo commented on GitHub (Sep 23, 2025):
@vityuasd thank you for the resources you linked here, very interesting.
I have to say I'm not entirely convinced. In such a way it is the same thing of https: every service should be protected by https nowadays it is an hard requirement, but normally you obtain this using nginx, caddy or other reverse proxy to avoid to write and maintain this feature in your codebase.
However, I'm just a shiori user like you and the last word rests with the project maintainer.