GHSA-m983-7426-5hrj
Ech0 authenticated user-list exposed data via public `/api/allusers` endpoint
Packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| Go | github.com/lin-snow/ech0 | < 1.4.8-0.20260322121226-acbf1fd71011 | 1.4.8-0.20260322121226-acbf1fd71011 |
Details
As written in the advisory (Markdown source, shown as plain text).
### Summary
A public access-control flaw allows unauthenticated users to retrieve the full user list from `GET /api/allusers`. This exposes user profile metadata to anyone who can reach the application and enables remote user enumeration.
### Details
The vulnerable route is registered as a public endpoint:
- `internal/router/user.go:17`
- `appRouterGroup.PublicRouterGroup.GET("/allusers", h.UserHandler.GetAllUsers())`
However, the handler appears to have been intended as an authenticated endpoint:
- `internal/handler/user/user.go:177-185`
- API annotations indicate an authentication requirement via `@Security ApiKeyAuth`
This creates a mismatch between the documented security model and the actual routing configuration. As a result, requests to `GET /api/allusers` succeed without authentication and return user records, including profile metadata such as usernames, email addresses, role-related flags, avatar values, and locale information.
A negative control against another endpoint that correctly requires authentication further supports that this exposure is unintended: `GET /api/user` returns `401 Unauthorized` when no token is supplied, while `GET /api/allusers` remains publicly accessible.
### Impact
- **Type:** Access control bypass / unauthenticated data exposure
- **Who is impacted:** Any deployment exposing the API to untrusted networks, and all users whose profile metadata is returned by the endpoint
- **Security impact:** Enables remote user enumeration and disclosure of user profile metadata, which may facilitate account reconnaissance, phishing, and targeted credential attacks
- **Attack preconditions:** None beyond network access to the affected API endpoint
References
External links from the advisory. They lead to third-party sites.