Description (CNA)
Botan is a C++ cryptography library. In 3.11.0, the function Certificate_Store::certificate_known had a misleading name; it would return true if any certificate in the store had a DN (and subject key identifier, if set) matching that of the argument. It did not check that the cert it found and the cert it was passed were actually the same certificate. In 3.11.0 an extension of path validation logic was made which assumed that certificate_known only returned true if the certificates were in fact identical. The impact is that if an end entity certificate is presented, and its DN (and subject key identifier, if set) match that of any trusted root, the end entity certificate is accepted immediately as if it itself were a trusted root. , This vulnerability is fixed in 3.11.1.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| randombit / botan | affected >= 3.11.0, < 3.11.1 |
CWE
CWE-295
References
ADP enrichment
No English description supplied.
No references supplied.
A flaw was found in Botan, a C++ cryptography library. Due to a misleading function name and an assumption in path validation logic, an end entity certificate could be incorrectly accepted as a trusted root. This occurs when the end entity certificate's Distinguished Name (DN) and Subject Key Identifier (SKI) match those of any trusted root certificate in the store, even if the certificates are not identical. This vulnerability allows for a bypass of certificate validation, potentially enabling an attacker to present a malicious certificate that is trusted by the system.