OpenSSL - CVE-2026-35189

Date de publication :

Il s'agit d'une vulnérabilité dans la mise en cache des extensions X.509 d'OpenSSL.

OpenSSL est une bibliothèque cryptographique open source qui implémente les protocoles TLS, DTLS et QUIC. Elle fournit aussi des fonctions de gestion de certificats X.509 et un outil en ligne de commande.

Le défaut concerne les points de distribution de CRL de type nameRelativeToCRLIST. Lors de l'analyse d'un certificat, OpenSSL calculait le nom complet de chaque point de distribution relatif. Ce calcul dupliquait le nom de l'émetteur pour chaque entrée. Un certificat qui contient de nombreux points de distribution provoque donc une croissance disproportionnée de la mémoire. Un certificat de moins de 100 KiB, limite acceptée pour un certificat de pair, peut allouer plusieurs centaines de Mio de mémoire résidente. L'allocation a lieu lors d'une négociation TLS normale. Plusieurs connexions concurrentes peuvent faire planter le client ou le serveur. Les clients TLS et les serveurs qui demandent un certificat client sont concernés. Le module FIPS n'est pas affecté. Le correctif diffère ce calcul au moment du traitement effectif des CRL.

Elle permet à un pair malveillant de provoquer une pression mémoire importante et un déni de service à distance.

Informations

La faille est activement exploitée : Non

Un correctif existe : Oui

Une mesure de contournement existe : Non

Risques

Déni de service (à distance)

Exploitation

La vulnérabilité exploitée est du type
CWE-770 : Allocation of Resources Without Limits or Throttling

Détails sur l'exploitation
•   Vecteur d'attaque : Réseau
•   Complexité de l'attaque : Faible
•   Privilèges nécessaires pour réaliser l'attaque : Aucun
•   Interaction d'un utilisateur ayant accès au produit est-elle nécessaire : Non
•   L'exploitation de la faille permet d'obtenir des droits privilégiés : En attente d’information

Preuve de concept
Actuellement, aucune preuve de concept n'est disponible en sources ouvertes.

Systèmes ou composants affectés

•   OpenSSL 4.0 versions antérieures à 4.0.3
•   OpenSSL 3.6 versions antérieures à 3.6.5
•   OpenSSL 3.5 versions antérieures à 3.5.9
•   OpenSSL 3.4 versions antérieures à 3.4.8
•   OpenSSL 3.0 versions antérieures à 3.0.23 (correctif réservé aux clients du support premium)
•   OpenSSL 1.1.1 versions antérieures à 1.1.1zj (correctif réservé aux clients du support premium)
•   OpenSSL 1.0.2 versions antérieures à 1.0.2zs (correctif réservé aux clients du support premium)
•   OpenSSL 3.1, 3.2 et 3.3 (hors support) : branches non analysées par l'éditeur, exposition non déterminée

Solutions ou recommandations

•   OpenSSL 4.0 versions 4.0.3 et supérieures
•   OpenSSL 3.6 versions 3.6.5 et supérieures
•   OpenSSL 3.5 versions 3.5.9 et supérieures
•   OpenSSL 3.4 versions 3.4.8 et supérieures
•   OpenSSL 3.0 versions 3.0.23 et supérieures (support premium uniquement)
•   OpenSSL 1.1.1 versions 1.1.1zj et supérieures (support premium uniquement)
•   OpenSSL 1.0.2 versions 1.0.2zs et supérieures (support premium uniquement)
•   Aucun correctif n'est mentionné pour les branches 3.1, 3.2 et 3.3, hors support