Loading...
Skip to main content

CVE-2026-58399 — Vulnerability in @acastellon/auth — CVE Details

CRITICAL

@acastellon/auth: Authentication bypass via spoofable headers in validateToken()

Published June 18, 2026Updated September 10, 2026Source: osv

Summary

@acastellon/auth v2.2.0 appears to allow an unauthenticated authentication bypass in validateToken() through spoofable auth-user and Host request headers. The validateToken middleware contains a service-to-service bypass for auth-user: service-brother when req.get('host').startsWith(getHostName()). Both values involved in the check can be influenced by an unauthenticated HTTP client: auth-user is a request header, and Host is also client-controlled. As a result, a remote unauthenticated attacker can send a request with crafted headers and bypass token validation before the normal legacy/JWT/OIDC validation logic runs. Impact: An attacker may be able to access routes protected by validateToken() without a valid token. In deployments where downstream services trust auth-user or is-* headers, this may also lead to privilege escalation. Affected package: @acastellon/auth v2.2.0 Affected code: auth.js, validateToken() The issue is related to the service-brother bypass and getHostName() check. Example request: ``` GET /protected HTTP/1.1 Host: <configured CNAME or hostname> auth-user: service-brother is-admin: true ``` Expected behavior: The request should require a valid authentication token. Actual behavior: The middleware calls next() before token validation. Fix implemented in v2.3.0+: Removed the spoofable bypass. Always sanitize incoming auth-user and is-* headers. Added mTLS client certificate based service auth (with optional TRUSTED_MTLS_SERVICES allowlist). Updated consumers (rest, graphql, dns-client) for mTLS support. Unit tests added for sanitization + mTLS path.

Advisory Timeline

  • First published June 18, 2026 (116 days ago).
  • Last revised September 10, 2026 — 83 days after initial publication.

Remediation

Upgrade to the fixed version using your package manager.

npm
Update @acastellon/auth to 2.3.0 or later
npm install @acastellon/auth@2.3.0

After upgrading, run your dependency scanner again to confirm the vulnerability is resolved.

Affected Packages (1)

Affects 1 ecosystem: npm (1).

PackageEcosystemAffectedFixed In
@acastellon/auth
npm
All versions2.3.0

Vulnerability Classification

Common Weakness Enumeration (CWE) identifiers for this vulnerability type.

CVSS Score Breakdown

What the CVSS (Common Vulnerability Scoring System) 9.1 score means for each attack dimension.

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
—
Confidentiality
—
Integrity
—
Availability
—

CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N

Frequently Asked Questions

What is CVE-2026-58399?
@acastellon/auth: Authentication bypass via spoofable headers in validateToken() This vulnerability has been assigned a severity rating of CRITICAL (CVSS score: 9.1/10).
How do I check if my project is affected by CVE-2026-58399?
CVE-2026-58399 affects @acastellon/auth. Use GeekWala's free vulnerability scanner to check your dependencies against CVE-2026-58399 and 200,000+ other known vulnerabilities.

Severity & Exploitability

CVSS Score
9.1

Exploitation is straightforward and causes maximum impact. Patch immediately.

Also Known As

GHSA-gfj5-979r-92pw

Related CVEs

  • CVE-2026-107722
    CRITICAL

    fast-jwt: Incomplete patch of CVE-2026-34950: Non-whitespace key-prefix re-enables RSA→HS256 algorithm confusion

  • CVE-2026-108261
    CRITICAL

    TinaCMS admin preview iframe loads an attacker-controlled origin from the URL fragment

Check if you're affected

Scan your dependencies to see if this vulnerability affects your projects.

Scan Your Dependencies