An issue was discovered in Mbed TLS before 2.24.0. The verification of X.509 certificates when matching the expected common name (the cn argument of mbedtlsx509crt_verify) with the actual certificate name is mishandled: when the subjecAltName extension is present, the expected name is compared to any name in that extension regardless of its type. This means that an attacker could impersonate a 4-byte or 16-byte domain by getting a certificate for the corresponding IPv4 or IPv6 address (this would require the attacker to control that IP address, though).
{
"binaries": [
{
"binary_version": "2.2.1-2ubuntu0.3",
"binary_name": "libmbedcrypto0"
},
{
"binary_version": "2.2.1-2ubuntu0.3",
"binary_name": "libmbedtls-dev"
},
{
"binary_version": "2.2.1-2ubuntu0.3",
"binary_name": "libmbedtls10"
},
{
"binary_version": "2.2.1-2ubuntu0.3",
"binary_name": "libmbedx509-0"
}
]
}
{
"binaries": [
{
"binary_version": "2.16.4-1ubuntu2",
"binary_name": "libmbedcrypto3"
},
{
"binary_version": "2.16.4-1ubuntu2",
"binary_name": "libmbedtls-dev"
},
{
"binary_version": "2.16.4-1ubuntu2",
"binary_name": "libmbedtls12"
},
{
"binary_version": "2.16.4-1ubuntu2",
"binary_name": "libmbedx509-0"
}
]
}