Vulnerabilidade en strongSwan IPsec que conduce á execución remota de código

strongSwan, un paquete VPN baseado en IPSec usado en Linux, Android, FreeBSD e macOS, ten unha vulnerabilidade (CVE-2023-41913) que pode ser explotada para a execución remota de código por parte dun atacante. A vulnerabilidade débese a un erro no proceso charon-tkm coa súa implementación TKMv2 (Xestor de claves de confianza) do protocolo de intercambio de claves (IKE), o que provoca un desbordamento do búfer ao procesar valores do esquema DH (Diffie-Hellman) especialmente formateados. A vulnerabilidade só aparece nos sistemas que usan versións charon-tkm e strongSwan a partir da 5.3.0. O problema solucionouse na actualización de strongSwan 5.9.12. Para corrixir a vulnerabilidade en ramas a partir da 5.3.x, tamén se prepararon parches.

O erro é causado por non comprobar o tamaño dos valores públicos de Diffie-Hellman antes de copialos nun búfer de tamaño fixo da pila. Pódese iniciar un desbordamento enviando unha mensaxe IKE_SA_INIT especialmente elaborada que se procesa sen autenticación. Nas versións máis antigas de strongSwan, a comprobación do tamaño realizouse no manejador de carga útil KE (Key Exchange), pero na versión 5.3.0 engadíronse cambios que moveron a comprobación dos valores públicos ao lado do manejador do protocolo DH ( Diffie-Hellman) e engadiu funcións xenéricas para simplificar a comprobación da corrección dos grupos coñecidos D.H. Debido a un descoido, esquecéronse de engadir novas funcións de verificación ao proceso charon-tkm, que funciona como un proxy entre o proceso IKE e o TKM (Xestor de claves de confianza), polo que a función memcpy() contiña valores sen marcar. que permitiu escribir ata 512 bytes nun búfer de datos de 10000 bytes.

Fonte: opennet.ru

Engadir un comentario