CVE-2026-33638: Github.com/lin snow/ech0 Ech0 Authenticated User-list Exposed Data Vulnerability

MODERATE
Advisory Identifier: GHSA-m983-7426-5hrj
CVSS 5.3
CWE-862
Published
Advisory Summary

CVE-2026-33638 is a MODERATE (CVSS 5.3) ech0 authenticated user-list exposed data vulnerability (CWE-862: Missing Authorization) affecting Github.com/lin snow/ech0 libraries in the Go ecosystem. The issue involves ech0 authenticated user-list exposed data via public `/api/allusers` endpoint. Remediation is available by upgrading affected packages to version 1.4.8-0.20260322121226-acbf1fd71011.

CVE-2026-33638 at a Glance

CVE Identifier CVE-2026-33638
GHSA Identifier GHSA-m983-7426-5hrj
Severity MODERATE
CVSS v3.1 Base Score 5.3
CWE Classification CWE-862: Missing Authorization
Affected Product Github.com/lin snow/ech0
Package Ecosystem Go
Published Date
Last Updated

Security Impact

CVSS: 5.3

The security impact metrics below are parsed directly from the CVSS v3.1 vector string (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N).

Attack Vector Network (AV:N)
Attack Complexity Low (AC:L)
Privileges Required None (PR:N)
User Interaction None (UI:N)
Scope Unchanged (S:U)
Confidentiality Low (C:L)
Integrity None (I:N)
Availability None (A:N)

How to Fix CVE-2026-33638

To remediate this vulnerability, upgrade all affected Github.com/lin snow/ech0 dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.

github.com/lin-snow/ech0 fixed: 1.4.8-0.20260322121226-acbf1fd71011
Upgrade github.com/lin-snow/ech0 to 1.4.8-0.20260322121226-acbf1fd71011
Verify Direct and Transitive Dependencies

Run the following command in your project directory to verify that all resolved dependencies use the patched release:

inspect dependencies for github.com/lin-snow/ech0

How to Check if You Are Affected

To determine whether your application is affected by CVE-2026-33638, inspect your project dependencies for Github.com/lin snow/ech0:

inspect dependencies for github.com/lin-snow/ech0

Analyze the terminal output to locate any version of Github.com/lin snow/ech0 in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 1.4.8-0.20260322121226-acbf1fd71011), your application is affected.

Note: Verify declared build manifests and deployed runtime container environments.

Technical Details

Vulnerability Mechanism & Technical Analysis

This vulnerability is classified under CWE-862: Missing Authorization, where the product does not perform an authorization check when an actor attempts to access a resource or perform an action. In Github.com/lin snow/ech0, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.

Source Advisory Statement

### 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

CVE-2026-33638 Affected Github.com/lin snow/ech0 Versions

1 component(s)
Fixed Versions:
1.4.8-0.20260322121226-acbf1fd71011
Product / Package Ecosystem Affected Versions Fixed Version
github.com/lin-snow/ech0
Go
< 1.4.8-0.20260322121226-acbf1fd71011
1.4.8-0.20260322121226-acbf1fd71011

References

Frequently Asked Questions

What is CVE-2026-33638?
CVE-2026-33638 is a security vulnerability in Github.com/lin snow/ech0 involving Ech0 authenticated user-list exposed data via public `/api/allusers` endpoint under CWE-862: Missing Authorization.
Which Github.com/lin snow/ech0 versions are affected?
Affected versions include releases prior to 1.4.8-0.20260322121226-acbf1fd71011 across affected packages: github.com/lin-snow/ech0.
What version fixes CVE-2026-33638?
Upgrading to 1.4.8-0.20260322121226-acbf1fd71011 (or the latest patched release for your respective branch) resolves the vulnerability.
Is github.com/lin-snow/ech0 affected?
Yes, github.com/lin-snow/ech0 is affected in releases prior to 1.4.8-0.20260322121226-acbf1fd71011. Upgrade your dependency to 1.4.8-0.20260322121226-acbf1fd71011 or later.
What is the CVSS score of CVE-2026-33638?
CVE-2026-33638 has a CVSS v3.1 base score of 5.3 (MODERATE) with vector string CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N.
What CWE is associated with CVE-2026-33638?
CVE-2026-33638 is classified under CWE-862: Missing Authorization (The product does not perform an authorization check when an actor attempts to access a resource or perform an action.).
How can I check Go dependencies for CVE-2026-33638?
Run the dependency tree command: 'inspect dependencies for github.com/lin-snow/ech0'. This command lists direct and transitive dependencies in your build configuration so you can verify if a vulnerable version is resolved.
Machine-readable OSV JSON OSV v1.5 Schema
Normalized schema output
{
  "schema_version" : "1.4.0",
  "id" : "GHSA-m983-7426-5hrj",
  "modified" : "2026-03-30T20:27:17Z",
  "published" : "2026-03-24T22:25:03Z",
  "aliases" : [ "CVE-2026-33638" ],
  "summary" : "Ech0  authenticated user-list exposed data via public `/api/allusers` endpoint  ",
  "details" : "### Summary\nA 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.\n\n### Details\nThe vulnerable route is registered as a public endpoint:\n\n- `internal/router/user.go:17`\n  - `appRouterGroup.PublicRouterGroup.GET(\"/allusers\", h.UserHandler.GetAllUsers())`\n\nHowever, the handler appears to have been intended as an authenticated endpoint:\n\n- `internal/handler/user/user.go:177-185`\n  - API annotations indicate an authentication requirement via `@Security ApiKeyAuth`\n\nThis 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.\n\nA 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.\n\n### Impact\n- **Type:** Access control bypass / unauthenticated data exposure\n- **Who is impacted:** Any deployment exposing the API to untrusted networks, and all users whose profile metadata is returned by the endpoint\n- **Security impact:** Enables remote user enumeration and disclosure of user profile metadata, which may facilitate account reconnaissance, phishing, and targeted credential attacks\n- **Attack preconditions:** None beyond network access to the affected API endpoint",
  "severity" : [ {
    "type" : "CVSS_V3",
    "score" : "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N"
  } ],
  "affected" : [ {
    "package" : {
      "ecosystem" : "Go",
      "name" : "github.com/lin-snow/ech0"
    },
    "ranges" : [ {
      "type" : "ECOSYSTEM",
      "events" : [ {
        "introduced" : "0"
      }, {
        "fixed" : "1.4.8-0.20260322121226-acbf1fd71011"
      } ]
    } ]
  } ],
  "references" : [ {
    "type" : "WEB",
    "url" : "https://github.com/lin-snow/Ech0/security/advisories/GHSA-m983-7426-5hrj"
  }, {
    "type" : "ADVISORY",
    "url" : "https://nvd.nist.gov/vuln/detail/CVE-2026-33638"
  }, {
    "type" : "WEB",
    "url" : "https://github.com/lin-snow/Ech0/commit/acbf1fd71011e6b9e1e6a911128056a19862f681"
  }, {
    "type" : "PACKAGE",
    "url" : "https://github.com/lin-snow/Ech0"
  }, {
    "type" : "WEB",
    "url" : "https://github.com/lin-snow/Ech0/releases/tag/v4.2.0"
  } ],
  "database_specific" : {
    "cwe_ids" : [ "CWE-862" ],
    "severity" : "MODERATE",
    "github_reviewed" : true,
    "github_reviewed_at" : "2026-03-24T22:25:03Z",
    "nvd_published_at" : "2026-03-26T21:17:07Z"
  }
}