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 processes JSON Web Tokens for AWS ALB authentication. In a key verification routine, the function oauth2_jose_jwks_aws_alb_resolve reads the kid value from an unverified JWT header. When the signer matches the configured ARN, the kid is appended directly to the configured ALB base URL without URL‑encoding or sanitizing the path before performing an HTTP GET. This allows an attacker who can supply a JWT header with a malicious kid to force the server to issue an outbound request to an arbitrary internal path or host. The resulting Server‑Side Request Forgery can expose internal services, leak sensitive data, or facilitate lateral movement within the network. Based on the description, it is inferred that the likely attack vector is sending a crafted JWT with a malicious kid header to the server’s token verification endpoint.

Affected Systems

All installations of OpenIDC's liboauth2 with a version older than 2.3.0 are vulnerable. This includes any application, service, or system that links to or embeds the vulnerable library, particularly those that expose token‑handling interfaces to client input.

Risk and Exploitability

The CVSS score of 5.1 reflects moderate severity, and the EPSS score of less than 1% indicates a low probability of exploitation in the near term. The vulnerability is not listed in the CISA KEV catalog. Exploitation requires an attacker to control the JWT input to the server; once processed, the server makes the outbound GET before signature verification. While no public exploits are reported, the SSRF could potentially expose sensitive internal resources or serve as a foothold for further attacks.

Generated by OpenCVE AI on August 1, 2026 at 21:56 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade liboauth2 to version 2.3.0 or later, which adds 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 to reject characters that could manipulate the request path.
  • Restrict the service’s outbound traffic to only required IP ranges or subnets, and monitor for unexpected outbound GET requests to mitigate potential data exposure.

Generated by OpenCVE AI on August 1, 2026 at 21:56 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

Status : Deferred

Published: 2026-07-02T11:16:16.423

Modified: 2026-07-02T17:43:14.020

Link: CVE-2026-54430

cve-icon Redhat

Severity : Moderate

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

Links: CVE-2026-54430 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-01T22:00:14Z

Weaknesses
  • CWE-918

    Server-Side Request Forgery (SSRF)