Fix it in your stack

Tested fixes for CWE-306 in Express, Flask, Spring Boot, ASP.NET Core, Next.js, FastAPI, Django, net/http, Rails and Laravel: the vulnerable code, the fix, a plausible fix that still fails, and the regression tests.

Definition

MITRE’s description of CWE-306: The product does not perform any authentication for functionality that requires a provable user identity or consumes a significant amount of resources.

Common consequences MITRE lists

  • Access Control, Other: Gain Privileges or Assume Identity; Varies by Context

Why it matters

Endpoints that change configuration, move money or administer the system without checking identity can be called by anyone who finds them, often through a forgotten route, legacy version or internal port.

How to prevent it

  • Require authentication by default in the framework or gateway, and list every intentionally public route explicitly.
  • Inventory listeners and routes, including management ports and old API versions, and test that each rejects anonymous calls.
  • Authenticate machine-to-machine calls and webhooks too, with mutual TLS, signed requests or workload identity.

Guides on this site

Practice

References

  1. CWE-306 in the MITRE CWE list (version 4.20)
  2. 2025 CWE Top 25 Most Dangerous Software Weaknesses (MITRE CWE Program)
  3. OWASP Authentication Cheat Sheet

List data from MITRE; the name, definition and consequences are from MITRE’s CWE 4.20 catalogue. A guide is listed as the main subject when the weakness is what the guide is about, and as covering it when a dedicated section or worked example addresses it.

CWE content: Copyright © 2006–2026, The MITRE Corporation. CWE, CWSS, CWRAF, and the CWE logo are trademarks of The MITRE Corporation. CWE™ is free to use by any organization or individual for any research, development, and/or commercial purposes, per these CWE Terms of Use. Accordingly, The MITRE Corporation hereby grants you a non-exclusive, royalty-free license to use CWE for research, development, and commercial purposes. Any copy you make for such purposes is authorized on the condition that you reproduce MITRE’s copyright designation and this license in any such copy. CWE is a trademark of The MITRE Corporation. CWE Terms of Use.