Description
liboauth2 is vulnerable to Server-Side Request Forgery in oauth2_jose_jwks_aws_alb_resolve() function. The AWS ALB verifier reads both signer and kid from the unverified JWT
header. If signer matches the configured ARN, kid is appended to
alb_base_url without URL encoding or path sanitization, and the HTTP GET
is issued before signature verification. This allows an attacker to force
the server to send a GET request to an attacker-chosen internal path.

This issue was fixed in version 2.3.0
Published: 2026-07-02
Score: 5.1 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The liboauth2 library contains a flaw in the oauth2_jose_jwks_aws_alb_resolve function, which processes AWS ALB JWT verifiers. The function takes the unverified JWT header, reads the "kid" value, and concatenates it to a configured ALB base URL without performing URL encoding or path sanitization. Based on the description, it is inferred that an attacker can supply a crafted token that forces the library to send a GET request to any internal path or host chosen by the attacker. This vulnerability allows the attacker to read or interact with internal services that are normally inaccessible from the public network, potentially compromising confidentiality, integrity, or availability of internal resources. The weakness is classified under CWE‑918.

Affected Systems

All installations of OpenIDC’s liboauth2 library older than version 2.3.0 are affected. The flaw is located in the oauth2_jose_jwks_aws_alb_resolve component that handles AWS ALB JWT verifiers. Any application that embeds or links to liboauth2 from client‑supplied endpoints may be impacted. Versions newer than 2.3.0 contain the fix and are not susceptible.

Risk and Exploitability

The base CVSS score is 5.1, indicating moderate severity. The EPSS score of less than 1% signifies a very low likelihood of exploitation in the near term, and the vulnerability is not present in the CISA KEV catalog. Based on the description, it is inferred that exploitation requires the attacker to send a crafted JWT to the server’s token‑handling endpoint; if successful, the server will make an outbound GET request to the attacker‑controlled internal address before verifying the token signature. The resulting SSRF can expose hidden services, leak data, or facilitate lateral movement within the network.

Generated by OpenCVE AI on July 21, 2026 at 12:13 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade liboauth2 to version 2.3.0 or later, which includes URL‑encoding and path‑sanitization for the "kid" field.
  • If an upgrade is not immediately possible, validate or sanitize the "kid" value in incoming JWTs so that characters capable of manipulating the request path are rejected.
  • Restrict the service’s outbound traffic so that it can only reach IP ranges or subnets required for legitimate operation, and monitor for unexpected outbound GET requests to mitigate data exposure.

Generated by OpenCVE AI on July 21, 2026 at 12:13 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 06 Jul 2026 23:15:00 +0000

Type Values Removed Values Added
First Time appeared Openidc
Openidc liboauth2
Vendors & Products Openidc
Openidc liboauth2

Sat, 04 Jul 2026 02:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Fri, 03 Jul 2026 12:15:00 +0000

Type Values Removed Values Added
References
Metrics threat_severity

None

cvssV3_1

{'score': 5.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N'}

threat_severity

Moderate


Thu, 02 Jul 2026 11:30:00 +0000


Thu, 02 Jul 2026 10:45:00 +0000

Type Values Removed Values Added
Description liboauth2 is vulnerable to Server-Side Request Forgery in oauth2_jose_jwks_aws_alb_resolve() function. The AWS ALB verifier reads both signer and kid from the unverified JWT header. If signer matches the configured ARN, kid is appended to alb_base_url without URL encoding or path sanitization, and the HTTP GET is issued before signature verification. This allows an attacker to force the server to send a GET request to an attacker-chosen internal path. This issue was fixed in version 2.3.0
Title Server-Site Request Forgery in liboauth2
Weaknesses CWE-918
References
Metrics cvssV4_0

{'score': 5.1, 'vector': 'CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:L/SI:N/SA:N'}


Subscriptions

Openidc Liboauth2
cve-icon MITRE

Status: PUBLISHED

Assigner: CERT-PL

Published:

Updated: 2026-07-02T12:17:21.724Z

Reserved: 2026-06-15T13:08:01.056Z

Link: CVE-2026-54430

cve-icon Vulnrichment

Updated: 2026-07-02T12:17:17.824Z

cve-icon NVD

No data.

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-07-02T10:30:33Z

Links: CVE-2026-54430 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-07-21T12:15:02Z

Weaknesses
  • CWE-918

    Server-Side Request Forgery (SSRF)