Every CVE Search/ Get API key

CVE-2026-54431

Improper Data Validation in liboauth2

5.1 MediumFix available

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

Attack profile

How easy it is to exploit

Attack vector
Local
Complexity
Low
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
Low
Integrity
None
Availability
None

Exploit likelihood

0.18%Unchanged since Jul 3, 2026
90%50%10%1%

What each source reports

CVE List Score used 5.1

Improper Data Validation in liboauth2

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

Record
CVE-2026-54431
CVSS 4.0
5.1 MediumCVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
Weakness
CWE-358
Updated
2026-11-02
EUVDEUVD-2026-41277 5.1

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

Record
EUVD-2026-41277
CVSS 4.0
5.1 MediumCVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
Updated
2026-11-02
GitHub AdvisoriesGHSA-3pf6-g4x4-jm46 5.1

In liboauth2 the Demonstrating Proof-of-Possession (DPoP) verifier accepts a proof whose JSON Web...

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

Record
GHSA-3pf6-g4x4-jm46
CVSS 4.0
5.1 MediumCVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Weakness
CWE-358
Updated
2026-11-02
NVD 5.1

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

Record
CVE-2026-54431
CVSS 4.0
5.1 MediumCVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Weakness
CWE-358
Updated
2026-11-02
OSV 5.1

Improper Data Validation in liboauth2

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

Record
CVE-2026-54431
CVSS 4.0
5.1 MediumCVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
Weakness
CWE-358
Updated
2026-11-02
OSVDEBIAN-CVE-2026-54431 5.1

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

Record
DEBIAN-CVE-2026-54431
CVSS 4.0
5.1 MediumCVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Updated
2026-11-02
OSVUBUNTU-CVE-2026-54431 5.1

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

Record
UBUNTU-CVE-2026-54431
CVSS 4.0
5.1 MediumCVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
Updated
2026-11-02
OSVAZL-91682 No score

CVE-2026-54431 affecting package liboauth 1.0.3-15

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

Record
AZL-91682
Updated
2026-11-05

Affected products

Affected packages

Affected packages
PackageAffectedFixed
liboauth
Azure Linux:3
through 1.0.3-15 None known
liboauth2
Debian:12
All versions, plus listed versions
1.4.5.4-11.5.1-11.5.1-21.5.1-31.5.2-1
Show 13 moreShow less
1.6.0-11.6.1-11.6.2-11.6.3-12.0.0-12.1.0-12.1.0-22.1.1-12.2.0-12.2.0-22.2.1-12.3.0-12.4.0-1
None known
liboauth2
Debian:13
All versions, plus listed versions
2.1.0-22.1.1-12.2.0-12.2.0-22.2.1-12.3.0-12.4.0-1
None known
liboauth2
Debian:14
before 2.3.0-1, plus listed versions
2.1.0-22.1.1-12.2.0-12.2.0-22.2.1-1
2.3.0-1
liboauth2
Ubuntu:22.04:LTS
All versions, plus listed versions
1.4.0.1-11.4.3.2-11.4.3.2-21.4.3.2-31.4.3.2-3ubuntu11.4.3.2-41.4.4-1
None known
liboauth2
Ubuntu:24.04:LTS
All versions, plus listed versions
1.5.1-31.5.2-11.6.0-11.6.0-1build11.6.0-1build31.6.0-1build4
None known
liboauth2
Ubuntu:25.10
All versions, plus listed versions
2.1.0-12.1.0-2
None known
liboauth2
Ubuntu:26.10
All versions, plus listed versions
2.2.0-2ubuntu12.4.0-1
None known
liboauth2
Ubuntu:26.04:LTS
All versions, plus listed versions
2.1.0-22.1.1-12.2.0-12.2.0-2ubuntu1
None known

History

History
RecordedChangedSources
factsOSV
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-54431 is a medium vulnerability (CVSS 5.1) in Openidc Liboauth2, published July 2, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.18%, the 7th percentile. Fixed in liboauth2 2.3.0-1.

References

MoveEnter Open