Description
In liboauth2 the Demonstrating Proof-of-Possession (DPoP) verifier accepts a proof whose JSON Web Key (jwk) header contains private key material. RFC 9449 section 4.3 step 7 requires the verifier to reject such a proof but oauth2_token_verify() function returns success for a malformed DPoP proof that embeds the private Elliptic Curve (EC) key in the header.

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

In liboauth2, the DPoP verifier implemented in oauth2_token_verify() incorrectly accepts JSON Web Keys that contain private elliptic‑curve key material in the header, violating RFC 9449 requirement to reject such proofs. This data‑validation weakness (CWE‑358) allows an attacker to craft a malicious DPoP token that the library treats as valid, enabling forgery of access tokens and potentially granting unauthorized service access.

Affected Systems

OpenIDC’s liboauth2 library versions earlier than 2.3.0 are affected. Any application, service, or OAuth server that relies on the vulnerable library to validate DPoP proofs when processing authentication requests is at risk unless it uses the patched release.

Risk and Exploitability

The vulnerability has a CVSS score of 5.1, which indicates moderate severity, and an EPSS score of less than 1 %, denoting a very low but non‑zero likelihood of exploitation. It is not listed in the CISA KEV catalog. Exploitation requires an attacker to construct and present a DPoP proof containing private key material to an OAuth server that uses the vulnerable liboauth2. The description does not mention privileged access or additional conditions; it is unclear whether such prerequisites are required, which is inferred from the lack of explicit mention.

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

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade liboauth2 to version 2.3.0 or later to eliminate the flaw.
  • Regenerate or revoke any DPoP tokens that may have been validated by the vulnerable library version, and require reissuance with a compliant token.
  • Implement application‑level checks that reject JWT headers containing private key material to enforce RFC 9449 compliance until a system‑wide update can be applied.

Generated by OpenCVE AI on July 21, 2026 at 12:12 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

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

Type Values Removed Values Added
References
Metrics threat_severity

None

cvssV3_1

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

threat_severity

Moderate


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

Type Values Removed Values Added
Metrics ssvc

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


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


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

Type Values Removed Values Added
Description In liboauth2 the Demonstrating Proof-of-Possession (DPoP) verifier accepts a proof whose JSON Web Key (jwk) header contains private key material. RFC 9449 section 4.3 step 7 requires the verifier to reject such a proof but oauth2_token_verify() function returns success for a malformed DPoP proof that embeds the private Elliptic Curve (EC) key in the header. This issue was fixed in version 2.3.0
Title Improper Data Validation in liboauth2
Weaknesses CWE-358
References
Metrics cvssV4_0

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


Subscriptions

Openidc Liboauth2
cve-icon MITRE

Status: PUBLISHED

Assigner: CERT-PL

Published:

Updated: 2026-07-02T12:16:41.569Z

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

Link: CVE-2026-54431

cve-icon Vulnrichment

Updated: 2026-07-02T12:16:37.310Z

cve-icon NVD

No data.

cve-icon Redhat

Severity : Moderate

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

Links: CVE-2026-54431 - Bugzilla

cve-icon OpenCVE Enrichment

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

Weaknesses
  • CWE-358

    Improperly Implemented Security Check for Standard