Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HTTP request to issuer URL exposes system information #158

Open
1 task
paveldanichev opened this issue Jul 11, 2023 · 0 comments
Open
1 task

HTTP request to issuer URL exposes system information #158

paveldanichev opened this issue Jul 11, 2023 · 0 comments
Assignees

Comments

@paveldanichev
Copy link

I'm submitting a

  • [X ] bug report
  • feature request

Background info

When verifying an access token, the verifier contacts the issuer URL to get the public key. In the HTTP request it performs, the User-Agent header contains much information about the calling server. It looks like this:

user-agent: okta-jwt-verifier-java/0.5.1 spring/5.2.2.RELEASE spring-boot/2.2.2.RELEASE spring-security/5.2.1.RELEASE tomcat/9.0 java/1.8.0_372 Linux/4.15.0-212-generic

In systems where there is no validation of the issuer and/or its value is taken directly from the iss claim, sometimes by design in order to support custom Okta URLs, the current behavior allows an attacker to craft a token with attackers URL in the issuer field (iss claim), making the server call the attacker's URL exposing all these server details.

This issue can be considered as CWE-497: Exposure of Sensitive System Information to an Unauthorized Control Sphere

Expected behavior

User-Agent header should not contain such information. Perhaps only okta-jwt-verifier-java/<version> or something generic.

Library Version

Tested with 0.5.1 and 0.5.7

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants