Ech0 authenticated user-list exposed data via public `/api/allusers` endpoint

説明

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

基本情報

タイプ
reviewed
深刻度
medium
GitHub 上のアドバイザリ
アドバイザリを開く ↗
リポジトリのアドバイザリ
リポジトリのアドバイザリを開く ↗
ソースコード
ソースを見る ↗
公開(アドバイザリ)
2026-03-24 22:25:03 UTC
更新
2026-03-30 20:27:17 UTC
GitHub レビュー済み
2026-03-24 22:25:03 UTC
NVD で公開
2026-03-26

EPSS Score

Score Percentile
0.07% 22.27%

CVSS Scores

Base score Version Severity Vector
5.3 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N クリックして展開
攻撃ベクター (AV:N)
インターネットなど、ルーティングされたネットワーク越しに遠隔から悪用しうる。端末の前にいる必要はない。
攻撃の複雑さ (AC:L)
攻撃者が条件を満たせば、レース条件や珍しい構成に依存せずに再現しやすい。
必要な権限 (PR:N)
事前のログインや昇格は不要で、匿名アクセスのまま踏み台にしうる。
ユーザーの関与 (UI:N)
メールのリンクを開く、マクロを有効にするなど、被害者の協力がなくても成立しうる。
スコープ (S:U)
影響は脆弱コンポーネントと同一のセキュリティ権限・信頼境界の内側に収まる。
機密性への影響 (C:L)
一部のデータや属性が漏えいしうるが、全件一括流出といった規模には至らない。
完全性への影響 (I:N)
改ざん・なりすましによる信頼毀損は軽微か、想定されない。
可用性への影響 (A:N)
業務継続に支障が出るレベルの停止や劣化は想定されない。

Identifiers

CWEs

CWE id Name
CWE-862 Missing Authorization

Credits

  • QiaoNPC (reporter)

Affected packages (1)

Vulnerable version ranges and first patched releases as published by GitHub.

Ecosystem Package Vulnerable range First patched Vulnerable functions
go github.com/lin-snow/ech0 < 1.4.8-0.20260322121226-acbf1fd71011 1.4.8-0.20260322121226-acbf1fd71011

References

cvelogic Threat Intelligence