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 mbedtls_x509_crt_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).
Se ha detectado un problema en Mbed TLS versiones anteriores a 2.24.0. La comprobación de los certificados X.509 cuando se compara el nombre común esperado (el argumento cn de la función mbedtls_x509_crt_verify) con el nombre real del certificado es manejado inapropiadamente: cuando la extensión subjecAltName está presente, el nombre esperado es comparado con cualquier nombre de esa extensión independientemente de su tipo. Esto significa que un atacante podría hacerse pasar por un dominio de 4 o 16 bytes al obtener un certificado para la dirección IPv4 o IPv6 correspondiente (aunque esto requeriría que el atacante controlara esa dirección IP).