Vulnérabilité dans strongSwan IPsec conduisant à l'exécution de code à distance

strongSwan, un package VPN basé sur IPSec utilisé sous Linux, Android, FreeBSD et macOS, présente une vulnérabilité (CVE-2023-41913) qui peut être exploitée pour l'exécution de code à distance par un attaquant. La vulnérabilité est due à un bug dans le processus charon-tkm avec son implémentation TKMv2 (Trusted Key Manager) du protocole Key Exchange (IKE), entraînant un débordement de tampon lors du traitement de valeurs de schéma DH (Diffie-Hellman) spécialement formatées. La vulnérabilité n'apparaît que sur les systèmes utilisant les versions charon-tkm et strongSwan à partir de 5.3.0. Le problème est résolu dans la mise à jour strongSwan 5.9.12. Pour corriger la vulnérabilité dans les branches à partir de 5.3.x, des correctifs ont également été préparés.

L'erreur est causée par la non-vérification de la taille des valeurs Diffie-Hellman publiques avant de les copier dans un tampon de taille fixe sur la pile. Un débordement peut être initié en envoyant un message IKE_SA_INIT spécialement conçu qui est traité sans authentification. Dans les anciennes versions de strongSwan, la vérification de la taille était effectuée dans le gestionnaire de charge utile KE (Key Exchange), mais dans la version 5.3.0, des modifications ont été ajoutées qui ont déplacé la vérification des valeurs publiques du côté du gestionnaire de protocole DH ( Diffie-Hellman) et ajout de fonctions génériques pour simplifier la vérification de l'exactitude des groupes connus D.H. En raison d'un oubli, ils ont oublié d'ajouter de nouvelles fonctions de vérification au processus charon-tkm, qui fonctionne comme un proxy entre le processus IKE et le TKM (Trusted Key Manager), de sorte que la fonction memcpy() contenait des valeurs non vérifiées. ​​qui permettait d'écrire jusqu'à 512 10000 octets dans un tampon de données de XNUMX octets.

Source: opennet.ru

Ajouter un commentaire