Desbordamento do búfer en OpenSSL explotado ao verificar certificados X.509

Publicouse unha versión correctiva da biblioteca criptográfica OpenSSL 3.0.7, que corrixe dúas vulnerabilidades. Ambos os problemas son causados ​​por desbordamentos do búfer no código de validación do campo de correo electrónico nos certificados X.509 e poden levar á execución de código ao procesar un certificado especialmente enmarcado. No momento da publicación da corrección, os desenvolvedores de OpenSSL non rexistraran ningunha evidencia da presenza dun exploit en funcionamento que puidese levar á execución do código do atacante.

A pesar de que o anuncio previo ao lanzamento da nova versión mencionaba a presenza dun problema crítico, de feito, na actualización publicada o estado da vulnerabilidade reduciuse ao nivel de vulnerabilidade perigosa, pero non crítica. De acordo coas normas adoptadas no proxecto, o nivel de perigo redúcese se o problema se manifesta en configuracións atípicas ou se existe unha baixa probabilidade de explotación da vulnerabilidade na práctica.

Neste caso, o nivel de gravidade reduciuse porque unha análise detallada da vulnerabilidade realizada por varias organizacións concluíu que a capacidade de executar código durante a explotación estaba bloqueada polos mecanismos de protección de desbordamento de pila usados ​​en moitas plataformas. Ademais, o deseño de grade que se usa nalgunhas distribucións de Linux fai que os 4 bytes que saen fóra dos límites se superpoñan ao seguinte búfer da pila, que aínda non está en uso. Non obstante, é posible que existan plataformas que se poidan explotar para executar código.

Problemas identificados:

  • CVE-2022-3602: unha vulnerabilidade, inicialmente presentada como crítica, leva a un desbordamento do búfer de 4 bytes ao comprobar un campo cun enderezo de correo electrónico especialmente deseñado nun certificado X.509. Nun cliente TLS, a vulnerabilidade pódese explotar ao conectarse a un servidor controlado polo atacante. Nun servidor TLS, a vulnerabilidade pódese explotar se se utiliza a autenticación do cliente mediante certificados. Neste caso, a vulnerabilidade aparece na fase posterior á verificación da cadea de confianza asociada ao certificado, é dicir. O ataque require que a autoridade de certificación verifique o certificado malicioso do atacante.
  • CVE-2022-3786 é outro vector para explotar a vulnerabilidade CVE-2022-3602, identificada durante a análise do problema. As diferenzas redúcense na posibilidade de desbordar un búfer na pila por un número arbitrario de bytes que conteñen o "." (é dicir, o atacante non pode controlar o contido do desbordamento e o problema só se pode usar para facer que a aplicación falle).

As vulnerabilidades só aparecen na rama OpenSSL 3.0.x (o erro introduciuse no código de conversión de Unicode (punycode) engadido á rama 3.0.x). As versións de OpenSSL 1.1.1, así como as bibliotecas de fork OpenSSL LibreSSL e BoringSSL, non se ven afectadas polo problema. Ao mesmo tempo, lanzouse a actualización de OpenSSL 1.1.1s, que só contén correccións de erros non relacionados coa seguridade.

A rama OpenSSL 3.0 úsase en distribucións como Ubuntu 22.04, CentOS Stream 9, RHEL 9, OpenMandriva 4.2, Gentoo, Fedora 36, ​​​​Debian Testing/Unstable. Recoméndase aos usuarios destes sistemas que instalen as actualizacións canto antes (Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch). En SUSE Linux Enterprise 15 SP4 e openSUSE Leap 15.4, os paquetes con OpenSSL 3.0 están dispoñibles opcionalmente, os paquetes do sistema usan a rama 1.1.1. Debian 1, Arch Linux, Void Linux, Ubuntu 11, Slackware, ALT Linux, RHEL 20.04, OpenWrt, Alpine Linux 8 e FreeBSD permanecen nas ramas de OpenSSL 3.16.x.

Fonte: opennet.ru

Engadir un comentario