Impact
The flaw arises from a simplistic string‑prefix comparison of OIDC issuer URLs in PIA, where the code checks only that the issuer starts with the prefix "https://ci.eclipse.org". Because the check does not enforce strict host‑bound validation, attackers can forge issuers such as "https://ci.eclipse.org@evil.host" or "https://ci.eclipse.org.evil.host" that satisfy the prefix test while directing the server to an attacker‑controlled discovery or JWKS endpoint. When a caller uses the exposed POST /v1/upload/sbom endpoint, PIA accepts the forged issuer, retrieves keys from the malicious server, and validates a JWT signed with the attacker’s key. It then proceeds to execute the request, effectively impersonating an authorized user and granting the attacker the ability to command artifact uploads and trigger outbound operations.
Affected Systems
The vulnerability is present in any Eclipse CSI – PIA implementation that has the buggy issuer validation logic. No specific version range was disclosed, so all versions that include the string‑prefix check in pia/models.py are potentially affected.
Risk and Exploitability
The CVSS score of 8.2 indicates high severity. Though the EPSS score is below 1%, the vulnerability remains exploitable through the public, unauthenticated POST /v1/upload/sbom endpoint. Successful exploitation forces PIA to make arbitrary outbound HTTPS requests to a host chosen by the attacker and to accept JWTs signed with the attacker’s key, thereby enabling impersonation and unauthorized artifact uploads.
OpenCVE Enrichment