Описание
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
A flaw was found in liboauth2. The Demonstrating Proof-of-Possession (DPoP) verifier incorrectly accepts a malformed DPoP proof. This proof contains private key material in its JSON Web Key (JWK) header, which should be rejected according to RFC 9449. This vulnerability could allow an attacker to bypass the intended proof-of-possession mechanism.
Отчет
A flaw in liboauth2's DPoP verifier allows it to accept malformed proofs containing private key material, contrary to RFC 9449. This could enable an attacker to bypass the proof-of-possession mechanism, potentially compromising the integrity of token validation in applications utilizing the library. The impact is limited to applications that implement DPoP using liboauth2 and do not perform additional validation.
Меры по смягчению последствий
Ensure DPoP client implementations do not include private key material in the JWK header of DPoP proofs. Review client code to verify only the public key is serialized into the proof's jwk header field. Upgrade liboauth2 to version 2.3.0 or later, which adds server-side rejection of proofs containing private key material per RFC 9449 section 4.3.
Дополнительная информация
Статус:
EPSS
5.3 Medium
CVSS3
Связанные уязвимости
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
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
In liboauth2 the Demonstrating Proof-of-Possession (DPoP) verifier acc ...
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
EPSS
5.3 Medium
CVSS3