{"id":"UBUNTU-CVE-2026-54431","details":"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","modified":"2026-07-09T15:21:03Z","published":"2026-07-02T11:16:00Z","upstream":["CVE-2026-54431"],"references":[{"type":"REPORT","url":"https://ubuntu.com/security/CVE-2026-54431"},{"type":"REPORT","url":"https://www.cve.org/CVERecord?id=CVE-2026-54431"},{"type":"REPORT","url":"https://cert.pl/en/posts/2026/07/CVE-2026-54430"},{"type":"REPORT","url":"https://github.com/OpenIDC/liboauth2"},{"type":"REPORT","url":"https://github.com/OpenIDC/liboauth2/commit/c0b57152ed6a0af33aeb04a60bd7f5bff5ab8800"}],"affected":[{"package":{"name":"liboauth2","ecosystem":"Ubuntu:22.04:LTS","purl":"pkg:deb/ubuntu/liboauth2?arch=source&distro=jammy"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.4.0.1-1","1.4.3.2-1","1.4.3.2-2","1.4.3.2-3","1.4.3.2-3ubuntu1","1.4.3.2-4","1.4.4-1"],"ecosystem_specific":{"binaries":[{"binary_version":"1.4.4-1","binary_name":"liboauth2-0"},{"binary_name":"liboauth2-apache0","binary_version":"1.4.4-1"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-54431.json"}},{"package":{"name":"liboauth2","ecosystem":"Ubuntu:24.04:LTS","purl":"pkg:deb/ubuntu/liboauth2?arch=source&distro=noble"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.5.1-3","1.5.2-1","1.6.0-1","1.6.0-1build1","1.6.0-1build3","1.6.0-1build4"],"ecosystem_specific":{"binaries":[{"binary_version":"1.6.0-1build4","binary_name":"liboauth2-0"},{"binary_name":"liboauth2-apache0","binary_version":"1.6.0-1build4"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-54431.json"}},{"package":{"name":"liboauth2","ecosystem":"Ubuntu:25.10","purl":"pkg:deb/ubuntu/liboauth2?arch=source&distro=questing"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.1.0-1","2.1.0-2"],"ecosystem_specific":{"binaries":[{"binary_name":"liboauth2-0","binary_version":"2.1.0-2"},{"binary_name":"liboauth2-apache0","binary_version":"2.1.0-2"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-54431.json"}},{"package":{"name":"liboauth2","ecosystem":"Ubuntu:26.04:LTS","purl":"pkg:deb/ubuntu/liboauth2?arch=source&distro=resolute"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.1.0-2","2.1.1-1","2.2.0-1","2.2.0-2ubuntu1"],"ecosystem_specific":{"binaries":[{"binary_version":"2.2.0-2ubuntu1","binary_name":"liboauth2-1"},{"binary_version":"2.2.0-2ubuntu1","binary_name":"liboauth2-apache1"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-54431.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V4","score":"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"},{"type":"Ubuntu","score":"medium"}]}