Skip to content

fix(jwt): reject empty JWT-SVID audiences#431

Open
maxlambrecht wants to merge 1 commit intospiffe:mainfrom
maxlambrecht:fix/jwt-svid-empty-audience
Open

fix(jwt): reject empty JWT-SVID audiences#431
maxlambrecht wants to merge 1 commit intospiffe:mainfrom
maxlambrecht:fix/jwt-svid-empty-audience

Conversation

@maxlambrecht
Copy link
Copy Markdown
Member

What

Reject empty expected audience sets in JWT-SVID validation for both JwtSvid.parseAndValidate(...) and JwtSvid.parseInsecure(...).

Why

Passing an empty expected audience set previously caused audience validation to succeed because containsAll(emptySet()) is always true. This was a failure-open behavior in a security-sensitive validator.

This is an observable behavior change: empty expected audiences now throw IllegalArgumentException("audience cannot be empty").

How tested

Ran the focused JWT-SVID validation tests:

./gradlew :java-spiffe-core:test --tests 'io.spiffe.svid.jwtsvid.JwtSvidParseAndValidateTest' --tests 'io.spiffe.svid.jwtsvid.JwtSvidParseInsecureTest'

@maxlambrecht maxlambrecht requested a review from rturner3 as a code owner May 9, 2026 19:23
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
@maxlambrecht maxlambrecht force-pushed the fix/jwt-svid-empty-audience branch from b6d2e49 to 4bc8a79 Compare May 9, 2026 20:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant