CVE-2026-107597: jwks_uri from the OIDC discovery document is fetched without checking its origin or scheme

Published Oct 20, 2026
·
Updated

PIA's token verification (verifytoken in pia/oidc.py) fetches the OIDC discovery document of an allowlisted issuer and then follows the jwksuri contained in that response without parsing it as a URL, comparing it against the approved issuer's origin, or requiring HTTPS — the only check is that the field is non-empty (pia/oidc.py:42-52). An approved identity provider — and every registered per-project Jenkins instance under https://ci.eclipse.org/<project>/oidc is a separate such party (pia/models.py) — can therefore direct PIA to issue a GET request to an arbitrary host and port, including over plaintext http, from PIA's own network position. The fetch happens before any signature is verified, as a side effect of an unauthenticated POST /v1/upload/sbom request that is ultimately rejected with 401.

Affected Software

1 affected component
Eclipse Foundation PIA

Event History

Oct 20, 2026
CVE Published
via MITRE·10:06 AM
Data Sourced
via MITRE·10:06 AM
DescriptionWeakness
Data Sourced
via NVD·11:17 AM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Who can cause PIA to make the outbound request?

An approved identity provider can supply a discovery document whose non-empty jwks_uri points to an arbitrary host and port. Each registered per-project Jenkins instance under https://ci.eclipse.org/<project>/oidc is a separate approved party.

2

Is authentication required to trigger the request?

No. The request is triggered as a side effect of an unauthenticated POST to /v1/upload/sbom; the request is made before token signature verification, even though the upload request is ultimately rejected with HTTP 401.

3

Are non-HTTPS destinations in scope?

Yes. PIA does not require the jwks_uri to use HTTPS, so an approved issuer can direct it to a plaintext HTTP endpoint as well as arbitrary hosts and ports.

4

What validation is missing before PIA follows jwks_uri?

PIA only checks that jwks_uri is non-empty. It does not parse the value as a URL or compare its origin with the approved issuer's origin.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203