Mises à jour de vulnérabilités critiques dans SonicWALL (CVE-2023-44221, CVE-2024-38475)
Résumé
Le 1er maisaint, WatchTowr Labs a publié un article détaillant de nouvelles informations sur deux vulnérabilités critiques signalées précédemment dans SonicWALL SMA : CVE-2024-38475 et CVE-2023-44221. Ces vulnérabilités sont une lecture arbitraire de fichiers et une injection de commandes, et leur exploitation combinée réussie permettrait à l'acteur de la menace d'exécuter du code à distance (RCE) sur une machine cible. Les deux vulnérabilités étaient ajouté au CISA KEV le même jour, et Beazley Security a connaissance d'une exploitation active « In the Wild » de ces vulnérabilités.
SonicWALL SMA (Secure Mobile Access) est une appliance de passerelle d'accès réseau pour l'accès aux appareils mobiles. Il est généralement déployé en tant qu'appareil périphérique, et une compromission réussie par un acteur de la menace lui fournirait un accès initial au réseau de l'entreprise. Ces vulnérabilités ont déjà été identifiées et corrigées par SonicWall dans NEIGE-2024-0018 et NEIGE-2023-0018, mais les nouvelles informations fournies par WatchTowr et CISA ont incité SonicWALL à mettre à jour les deux avis afin d'indiquer l'augmentation du risque et de la gravité.
Des correctifs de sécurité logiciels ont déjà été fournis par SonicWall, et WatchTowr a fourni des analyses techniques suffisamment détaillées pour que les lecteurs avertis puissent développer leurs propres exploits militaires. En conséquence, Beazley Security s'attend à une augmentation des tentatives d'analyse et d'exploitation de la part d'acteurs de menaces moins sophistiqués (en plus de l'exploitation en cours dans la nature). Les organisations concernées doivent appliquer les mises à jour immédiatement.
Systèmes ou produits concernés
Atténuations et solutions de contournement
Aucune mesure d'atténuation n'est malheureusement disponible pour ces vulnérabilités. Sonicwall a toutefois fourni des correctifs stables pour les deux vulnérabilités par le biais des canaux de mise à jour habituels.
Patchs
SonicWALL SMA 10.2.1.14-75sv et les versions ultérieures résolvent ces deux problèmes. Les instructions pour la mise à jour du micrologiciel de l'appareil ont été fournies par le fournisseur ici.
Détails techniques
Comme mentionné précédemment, l'article de WatchTowr décrit comment deux vulnérabilités peuvent être utilisées en combinaison pour atteindre le RCE. WatchTowr a fait un excellent travail en décrivant les détails techniques les concernant et leur article mérite d'être lu en entier. Nous fournirons une version condensée de leurs conclusions ici.
CVE-2024-38475
Cette vulnérabilité se trouve dans le composant du serveur HTTP Apache utilisé dans les appareils SonicOS. Cela a été rapporté par un chercheur nommé Tsai à l'orange qui a publié ses conclusions à ce sujet et sur d'autres vulnérabilités Apache connexes dans un excellent article de blog trouvé ici.
Les composants et les détails de cette vulnérabilité sont assez complexes, notamment en ce qui concerne la manière dont elle peut être utilisée pour attaquer les appareils SonicWALL. Nous tenterons de le décrire en passant en revue l'exemple d'attaque fourni par WatchTowr.

Tout d'abord pour le contexte, Apache possède un composant appelé mod_rewrite qui prendra, entre autres choses, les URL demandées et les traduira en d'autres objets pour un traitement ultérieur. Pour ce faire, il utilise des règles définies par l'administrateur, et la règle présente sur les appareils SonicWALL qui présente le bogue est la suivante :
Réécrire la règle ^/ (.+) \ \. [0-9] + \ \. [0-9] + \ \. [0-9] + \ \. [0-9] + [A-Za-Z0-9] *- [0-9] +.* \ \ .css$/$1.css
Bien que cela semble complexe et alambiqué, Apache interprétera essentiellement le « .1.1.1.1a-1.css » segment de l'URL d'attaque (indiqué en vert sur la Figure 1), convertissez-le en chemin de fichier et tentez d'accéder à ce fichier.
C'est là que le premier élément majeur du bogue entre en jeu. Pour des raisons de sécurité, lorsqu'Apache extrait des fichiers pour diffuser le contenu d'une page Web, il est limité par un paramètre de configuration appelé « Document Root ». Sur les appareils SonicWALL, « Document Root » est le chemin suivant : « /usr/src/Accès facile/www/htdocs ». Orange Tsai a découvert que si la chaîne d'URL traduite apparaît au début du chemin du fichier réécrit, mod_rewriterecherche deux chemins de fichiers.
Dans ce cas particulier, étant donné que le SonicWall Règle de réécriture traduit l'URL en /$1 css, au lieu de rechercher uniquement :
/usr/src/EasyAccess/www/htdocs/tmp/temp.db > f.1.1.1.1a-1.css
Il essaiera également de rechercher :
/tmp/temp.db, f.1.1.1.1a-1.css
Malheureusement, Apache mod_rewrite tentera d'abord de récupérer ce dernier fichier. C'est là qu'apparaît la deuxième composante majeure de la vulnérabilité. Les URL et les chemins de fichiers Unix ont des règles de codage de chaîne différentes, et le problème survient car Apache applique Codage d'URL logique de ce résultat chemin du fichier. Cela signifie que dans la preuve de concept de la Figure 1, la chaîne en rouge « > f » sera traduit en « ? », qui dans une URL est destinée à indiquer que toutes les données supplémentaires doivent être traitées comme des paramètres de programme. Ainsi, la section verte de l'URL/du chemin du fichier sera tronquée et Apache recherchera et diffusera le contenu du chemin de fichier suivant :
/tmp/temp.db
Dans ce scénario d'exploitation, cela permet à une attaque de récupérer la base de données de session depuis l'appliance SonicWALL SMA. Étant donné que la base de données stocke les informations de session, cela permet aux acteurs malveillants de pirater une session et de se connecter en tant qu'utilisateur légitime.
CVE-2023-44221
La deuxième vulnérabilité est une faille d'injection de commandes classique. WatchTowr semble avoir effectué une analyse des correctifs et déterminé que des contrôles de sécurité avaient été implémentés dans le code système qui invoque des outils de diagnostic réseau.
Les appliances SonicWALL possèdent des points de terminaison d'API POST qui exécutent les fichiers binaires du système pour exécuter des fonctions de diagnostic du système et du réseau, et les points de terminaison vulnérables permettent la transmission de paramètres arbitraires. Le code de traceroute6 ne permettait pas de valider correctement la longueur de chaîne de ses paramètres, ce qui exposait les appels à des vulnérabilités potentielles liées au dépassement de la mémoire tampon. De plus, les buffers qui stockent les paramètres non vérifiés sont alloués les uns à côté des autres, ce qui simplifie le processus d'exploitation pour un attaquant en évitant les complications courantes de corruption de mémoire associées aux tentatives d'exploitation des dépassements de mémoire tampon.
Un exploit de validation de principe pour cette vulnérabilité est fourni ci-dessous :
POST /spog/diagnostics HTTP/1.1
Hôte : hôte
Cookie : swap="aaaaaaaa= » ; swcctn=bbbbbbbbbb
Agent utilisateur : Mozilla/5.0
Jeton X-Carf : bbbbbbbbbb
Priorité : u=0
Thème : bandes-annonces
Connexion : keep-alive
<payload>tool=TraceRoute6_CMD&Target= » ; <140 « 's> »
Le point de terminaison de l'API de diagnostic nécessite qu'un utilisateur soit authentifié auprès de l'appareil en tant qu'administrateur. Dans la séquence d'actions démontrée par les chercheurs de WatchTowr, le CVE-2024-38475 est d'abord utilisé pour pirater une session administrative existante. Par la suite, CVE-2023-44221 est utilisé pour exploiter davantage le périphérique, ce qui conduit à l'exécution de code à distance.
Comment Beazley Security réagit
Beazley Security surveille les appareils périmétriques des clients via notre produit Karma afin d'identifier les appareils concernés et d'aider les organisations à remédier à tout problème détecté.
Nous menons également des recherches sur les menaces dans notre environnement MDR afin de détecter les tentatives d'exploitation potentielles contre nos clients.
Sources
Aware of an incident impacting your industry? Let us know:
