mirror of
https://github.com/yuzu-emu/mbedtls.git
synced 2024-12-26 23:15:41 +00:00
2a8e9587a7
RFC5280 does not state that the `revocationDate` should be checked. In addition, when no time source is available (i.e., when MBEDTLS_HAVE_TIME_DATE is not defined), `mbedtls_x509_time_is_past` always returns 0. This results in the CRL not being checked at all. https://tools.ietf.org/html/rfc5280 Signed-off-by: Raoul Strackx <raoul.strackx@fortanix.com>
12 lines
704 B
Plaintext
12 lines
704 B
Plaintext
Security
|
|
* When checking X.509 CRLs, a certificate was only considered as revoked if
|
|
its revocationDate was in the past according to the local clock if
|
|
available. In particular, on builds without MBEDTLS_HAVE_TIME_DATE,
|
|
certificates were never considered as revoked. On builds with
|
|
MBEDTLS_HAVE_TIME_DATE, an attacker able to control the local clock (for
|
|
example, an untrusted OS attacking a secure enclave) could prevent
|
|
revocation of certificates via CRLs. Fixed by no longer checking the
|
|
revocationDate field, in accordance with RFC 5280. Reported by
|
|
yuemonangong in #3340. Reported independently and fixed by
|
|
Raoul Strackx and Jethro Beekman in #3433.
|