CVE-2023-38545 : une CVE majeure corrigée dans cURL 8.4.0

Découvrez la CVE-2023-38545
Maxime ALAY-EDDINE
octobre 10, 2023

cURL 8.4.0 est sortie ce mercredi 11 octobre 2023. Ce logiciel adopte normalement un cycle de 8 semaines entre chaque version mais la version 8.4.0 a été publiée moins d’un mois après la 8.3.0, datant du 13 septembre 2023, en raison d’une vulnérabilité CVE de niveau élevé, dont la référence est CVE-2023-38545. Cet article de blog rassemble les informations disponibles sur cURL et CVE-2023-38545.

Qu’est-ce que cURL ?

cURL (pour Client URL) est un projet lié à deux produits :

  • curl, un outil en ligne de commande ;
  • libcurl, une bibliothèque de transfert de données.

L’outil curl, en ligne de commande, est très répandu et connu du monde de l’administration système : il permet de facilement récupérer le contenu d’une page web ou d’une API.

Exemple d'un appel curl

La bibliothèque libcurl est principalement utilisée en tant que client de transfert de données, et est largement déployé dans du matériel grand public (imprimantes, routeurs…) ainsi que des applications web (Facebook, Netflix…), ou encore des objets connectés (Bosch, BMW…).

Le projet cURL a fait l’objet de plus de 10 000 000 000 d’installations dans le monde (et dans l’espace) d’après une estimation de son auteur Daniel Stenberg.

Qu’est-ce que CVE-2023-38545 ?

CVE-2023-38545 est une vulnérabilité de niveau élevé, qui affecte le logiciel curl et la bibliothèque libcurl, et corrigée par curl 8.4.0.

CVE-2023-38545 consiste en un dépassement de tas, ou « heap overflow ». Le tas est la zone mémoire allouée de manière dynamique lors de l’exécution d’un programme. cURL est rédigé en C, et nécessite une attention particulière lors de la rédaction du code, afin d’éviter ce type de vulnérabilité.

En l’espèce, la CVE-2023-38545 est liée à une modification du mode de fonctionnement de cURL, pour des raisons de performance lors de ses interactions avec les proxys SOCKS5. Cette modification date de février 2020 et de cURL 7.69.0.

L’exploit fonctionne de la manière suivante :

  • si un client cURL vulnérable passe par un proxy contrôlé par un acteur malveillant ;
  • si le proxy compromis force une redirection HTTP de type 30X avec une cible dont le nom de domaine fait entre 16kB et 64kB ;
  • si le client cURL vulnérable est configuré pour suivre les redirections de manière automatique ;
  • alors la zone mémoire se trouvera corrompue, menant à un dépassement de tas.

Cette vulnérabilité, qui risque d’être fortement médiatisée, est donc assez difficile à manipuler en raison de ces différentes conditions.

Cependant, Daniel Stenberg indique que cette CVE est certainement l’un des pires problèmes de sécurité rencontrés par cURL depuis longtemps.

CVE-2023-38545 est certainement l'une des pires CVE du projet cURL depuis longtemps

Cependant, une vulnérabilité grave pour cURL n’est pas forcément une vulnérabilité critique pour le commun des utilisateurs, et cURL est un projet de très bonne qualité de développement : sur les 25 dernières versions sorties, seules 2 CVE de niveau élevé ont été détectées, et aucune de niveau critique.

Répartition des CVE par version de cURL

Quels sont les systèmes affectés par CVE-2023-38545 ?

Daniel Stenberg, mainteneur principal de cURL, indique sur GitHub que les versions des dernières années sont concernées par CVE-2023-38545.

Cependant, une large partie des utilisateurs du projet cURL ne seront pas directement concernés par les problèmes de CVE-2023-38545, et mieux vaut donc simplement attendre la publication des correctifs de sécurité afin de les installer.

Notons que tout système lié à libcurl est potentiellement impacté par cette CVE, et que les outils dérivés type pycurl ou python-curl sont aussi concernés.

Comment corriger la CVE-2023-38545 ?

cURL version 8.4.0 est sorti le 11 octobre 2023 et corrige la CVE-2023-38545.

Cyberwatch recommande de déployer les correctifs de sécurité disponibles dès que possible.

En parallèle, les principales distributions Linux, listées sur OpenWall, ont été informées de l’existence de cette CVE et travaillent donc sur un correctif de type « backport » : ainsi, le passage à cURL 8.4.0 ne sera certainement pas nécessaire pour tous les systèmes, et il sera possible de passer sur des portages spécifiques du correctif pour rester sur des version 7.X de cURL.

Comment détecter la CVE-2023-38545 ?

La publication des informations de détection est toujours en cours auprès des autorités et des principaux constructeurs. Cet article de blog sera progressivement enrichi des informations techniques requises pour identifier quels systèmes sont vulnérables.

Voici les informations disponibles pour chaque distribution :

  • Debian :
    • Debian 10 (buster) : non concerné ;
    • Debian 11 (bullseye) : les versions antérieures à 7.74.0-1.3+deb11u10 sont vulnérables ;
    • Debian 12 (bookworm) : les versions antérieures à 7.88.1-10+deb12u4 sont vulnérables ;
    • Debian sid : les versions antérieures à 8.3.0-3 sont vulnérables.
  • SUSE :
    • SUSE Linux Enterprise Server 12 SP5 : versions antérieures à 8.0.1-11.74.1
    • openSUSE / SUSE Linux Enterprise Micro : versions antérieures à 8.0.1-150400.5.32.1
  • Alpine Linux :
    • v3.15 / v3.16 / v3.17 / v3.18 / edge : versions antérieures à curl-8.4.0-r0
  • Ubuntu :
    • Ubuntu 14.04 (trusty) : non concerné ;
    • Ubuntu 16.04 (xenial) : non concerné ;
    • Ubuntu 18.04 (bionic) : non concerné ;
    • Ubuntu 20.04 (focal) : non concerné ;
    • Ubuntu 22.04 (jammy) : les versions antérieures à 7.81.0-1ubuntu1.14 sont vulnérables ;
    • Ubuntu 23.05 (lunar) : les versions antérieures à 7.88.1-8ubuntu2.3 sont vulnérables.
  • Amazon Linux :
    • Amazon Linux 2 : les versions antérieures à 8.3.0-1.amzn2.0.4 sont vulnérables ;
    • Amazon Linux 2023 : les versions antérieures à 8.3.0-1.amzn2023.0.2 sont vulnérables.
  • PhotonOS :
    • PhotonOS 3.0 : les versions antérieures à 8.1.2-4.ph3.x86_64.rpm sont vulnérables ;
    • PhotonOS 4.0 : les versions antérieures à 8.1.2-6.ph4.x86_64.rpm sont vulnérables ;
    • PhotonOS 5.0 : les versions antérieures à 8.1.2-6.ph5.x86_64.rpm sont vulnérables.

Les utilisateurs de Cyberwatch Vulnerability Manager recevront automatiquement les mises à jour de la base de vulnérabilités avec les signatures associées, et pourront alors directement consulter la liste de leurs équipements vulnérables dans l’interface de notre logiciel, sur la fiche de la CVE-2023-38545.

Nos clients peuvent déjà détecter la vulnérabilité sur les environnements Debian, Alpine Linux, et SUSE.

Résultats du scan Cyberwatch de CVE-2023-38545

Suivi des modifications

10/10/2023 15h30 GMT+2 : version initiale

11/10/2023 09h25 GMT+2 : mise à jour de l’article suite à la publication des détails techniques de la CVE-2023-38545

11/10/2023 09h30 GMT+2 : ajout des signatures Debian

11/10/2023 14h10 GMT+2 : ajout des signatures SUSE et Alpine Linux

11/10/2023 18h40 GMT+2 : ajout des signatures Ubuntu

12/10/2023 18h00 GMT+2 : ajout des signatures Amazon Linux

16/10/2023 22h15 GMT+2 : ajout des signatures PhotonOS

Vous avez des questions ?

Vous souhaitez une démonstration ?

Contactez-nous et nos experts reviendront vers vous sous 24h.

Votre demande