Because claims are only trustworthy after the token has been validated end to end. If signature, issuer, audience, expiry, and required claims are not checked first, the application may make access decisions based on attacker-influenced data rather than authenticated context.
What makes unverified JWT claims unsafe to use for access control?
JWT claims are only useful for authorization after the token has been validated, because the claims are part of the token content, not proof by themselves. Until signature verification and standard checks succeed, the application cannot assume the issuer, audience, expiry, or subject reflect trusted context. Authorization based on raw claims turns token data into a decision source before trust has been established.
Where the authorization boundary breaks
The key mistake is treating a decoded JWT as equivalent to an authenticated identity assertion. A JWT is just a container until the verifier confirms the cryptographic signature and the expected token semantics. If the application reads roles, scopes, groups, tenant IDs, or entitlements before that validation step, an attacker can influence the decision path by altering the claims in transit or by presenting a token minted for a different trust context.
That boundary matters most when claims drive coarse-grained access decisions, such as admin flags, tenant routing, or permission scopes. The safer pattern is to validate first, then authorize against the verified token plus server-side policy. That preserves the distinction between token content and trusted authorization context, which is exactly what breaks when claims are consumed too early.
Verified-token handling also depends on the surrounding token lifecycle. A valid signature does not fix a token that is expired, issued by the wrong issuer, intended for a different audience, or missing required claims for the transaction. In practice, authorization should fail closed whenever any required validation step is incomplete, because a partially checked token can still carry attacker-controlled but plausible-looking claims.
For machine-to-machine and delegated access paths, this is especially important when tokens travel across services. Standards and operational guidance such as RFC 6749: The OAuth 2.0 Authorization Framework and RFC 7523: JWT Profile for OAuth 2.0 Client Authentication and Authorization Grants reinforce that assertions must be checked in the right trust flow, not accepted simply because they are well-formed.
How unverified claims become a real attack path
When authorization logic trusts unverified claims, the attacker’s job gets easier: they do not need to break the backend, only the application’s assumption about token trust. Common failure modes include accepting unsigned or improperly signed tokens, skipping audience checks, confusing one issuer for another, or allowing a client to present claims that were meant for a different system. The result is often privilege escalation, tenant crossover, or unauthorized access to protected functions.
This is also where claim validation intersects with token substitution and replay risk. A claim may be syntactically correct but still wrong for the current request, current user, or current service boundary. If the application uses that claim before checking context, it can grant access based on stale, foreign, or attacker-selected assertions. That is why token handling guidance such as Token and Session Security Guide is so focused on validation, lifetime, revocation, and replay resistance.
In token ecosystems that rely on signed assertions, key trust is part of the security story. A forged or compromised signing key can make a token look legitimate even when its claims are malicious. The Microsoft Storm-0558 key breach 2023 is a reminder that token validation only helps if signing keys, issuer trust, and token audiences are all controlled correctly.
At the application layer, the risk is often not the JWT format itself but the way the claims are consumed. Good authorization design evaluates the verified token together with policy, resource context, and operation context. That is why Authorisation Models Guide remains relevant even when JWTs are the transport, because the claim values should inform policy after trust has been established, not replace policy.
Standards & Framework Alignment
This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.
OWASP API Security Top 10 addresses the attack and risk surface, while OWASP ASVS, NIST SP 800-53 Rev 5 and NIST SP 800-63 set the governance and control requirements practitioners need to meet.
| Framework | Control / Reference | Relevance |
|---|---|---|
| OWASP ASVS | V10 — OAuth and OIDC | JWT claim trust depends on correct token validation and issuer/audience handling. |
| Recommendation — Validate tokens before using claims and enforce issuer, audience, and required-claim checks. | ||
| NIST SP 800-53 Rev 5 | IA-5 — Authenticator Management | JWTs and signing keys are identity-bearing material whose lifecycle affects trust in claims. |
| AC-6 — Least Privilege | Authorization based on claims should only grant the minimum access the verified token supports. | |
| Recommendation — Protect signing material and validate token authenticity before authorization decisions. Constrain claim-driven access to the minimum permissions needed for the request. | ||
| NIST SP 800-63 | Digital Identity Guidelines | Token assertion trust depends on validated digital identity assertions and correct trust context. |
| Recommendation — Require validated assertions and trust the token only after its issuer and audience are confirmed. | ||
| OWASP API Security Top 10 | API2 — Broken Authentication | Skipping JWT validation can turn authentication failures into authorization bypass. |
| Recommendation — Reject tokens that fail signature, issuer, audience, or expiry checks before access control. | ||
Practitioner Guidance
What to verify: Treat signature verification, issuer, audience, expiry, and required-claim checks as one atomic gate. If any one of those checks is missing, do not let the application use the claims for authorization, even if the token decodes cleanly.
Decision rule: If a claim can change who gets access, validate the token server-side first and only then map the verified claims into policy. If the claim came from the client path and has not been bound to a trusted issuer and audience, assume it is unsafe for access control.
What good looks like: Authorization decisions are made from validated identity context plus server-side policy, not from raw JWT contents. In mature implementations, the token is checked once, the result is cached safely for the request, and every downstream decision uses the verified outcome rather than reinterpreting the claims ad hoc.
Practitioner takeaway: The dangerous part is not that JWT claims exist, it is that they are easy to read before they are trustworthy. Make validation the prerequisite for every authorization decision, or the token becomes attacker-supplied input instead of an authenticated assertion.
Related resources from NHI Mgmt Group
- Why do JWT claims create risk when each service handles them differently?
- Why do custom JWT claims create governance risk if they are not refreshed?
- Why do overly broad JWT claims create risk in distributed API environments?
- Why does relying on roles inside a JWT create risk for application authorization?
Deepen Your Knowledge
Free weekly newsletter
Subscribe to the NHI & AI Identity Journal
The latest on NHI and Agentic AI security – articles, research, breaches, news and events every week.
Bonus 33% off our NHI Course when you subscribe.
Reviewed and updated by the NHIMG editorial team on October 7, 2026.
NHI Mgmt Group — the #1 independent authority on Non-Human Identity, IAM, and Agentic AI security. nhimg.org