Un bogue a été trouvé dans pppd qui permettait d'exécuter du code à distance en tant que root

Une vulnérabilité dans le paquet pppd vient d'être divulguée au public (CVE-2020-8597) ce qui affecte gravement certains services VPN, les connexions DSL et également Ethernet car le bogue trouvé permettait d'exécuter du code en envoyant des demandes d'authentification spécialement conçues aux systèmes qui utilisent PPP (protocole point à point) ou PPPoE (PPP sur Ethernet).

Et c'est que comme nous l'avons mentionné, ces protocoles sont souvent utilisés par divers fournisseurs pour établir des connexions via Ethernet ou DSL et sont également utilisés dans certains VPN, par exemple pptpd et openfortivpn.

Pour tester la sensibilité des systèmes au problème, un prototype d'exploit a été préparé, qui déjà il est accessible au grand public.

À propos de la décision

La vulnérabilité est causée par un débordement de tampon dans l'implémentation du protocole EAP (Extensible Authentication Protocol).

Une erreur logique supplémentaire fait que la fonction eap_input () ne vérifie pas si EAP a été négocié pendant la phase de protocole de contrôle de ligne (LCP).

Cela permet à un attaquant non authentifié d'envoyer un paquet EAP même si ppp a rejeté la négociation d'authentification en raison d'un manque de prise en charge EAP ou en raison d'une incohérence d'une phrase secrète pré-partagée acceptée dans la phase LCP.

Le code pppd vulnérable dans eap_input continuera à traiter le paquet EAP et déclenchera le débordement de la mémoire tampon de la pile.

Ces données non vérifiées de taille inconnue peuvent être utilisées pour corrompre la mémoire du système cible. Le pppd fonctionne souvent avec des privilèges élevés (système ou root) et fonctionne en conjonction avec les pilotes du noyau. Cela permet à un attaquant d'exécuter potentiellement du code arbitraire avec des privilèges de niveau racine ou système.

Avec lui, une attaque peut être effectuée dans l'étape précédant l'authentification Passez en envoyant un paquet de type EAPT_MD5CHAP, comprenant un nom d'hôte très long qui ne rentre pas dans le tampon alloué.

En raison d'un bug dans le code pour vérifier la taille du champ rhostname, l'attaquant peut écraser les données en dehors du tampon sur la pile et réalisez une exécution à distance de votre code avec les privilèges root.

La vulnérabilité se manifeste côté serveur et côté client, c'est-à-dire que non seulement le serveur peut être attaqué, mais également le client qui tente de se connecter au serveur contrôlé par l'attaquant (par exemple, un attaquant peut d'abord pirater le serveur via la vulnérabilité, puis commencer à attaquer les clients qui se connectent ).

Vulnérabilité affecte également la pile lwIP, mais la prise en charge d'EAP n'est pas activée dans les paramètres par défaut de lwIP.

Versions et solution affectées 

En tant que tel ce défaut détecté affecte les versions 2.4.2 à 2.4.8 de pppd inclusif et est résolu sous la forme d'un patch. Certains d'entre vous savent peut-être que la divulgation des bogues au grand public a lieu longtemps après la découverte et la résolution du problème. Et, bien que cela prenne tout un processus, il y a toujours la partie de l'utilisateur qui doit effectuer la mise à jour correspondante.

L'état de résolution des problèmes peut être examiné dans les rapports des principales distributions Linux.

Cela peut être vu dans ces pages: Debian, Ubuntu, RHEL, Fédora, SUSE, OpenWRT, voûte, NetBSD.

Sur RHEL, OpenWRT et SUSE, le package pppd est compilé avec l'inclusion de "Stack Smashing Protection" ("-fstack-protecteur»Dans gcc), ce qui limite l'opération de verrouillage.

En plus des distributions, la vulnérabilité est également confirmée dans certains produits Cisco (CallManager), TP-LINK et Synology (DiskStation Manager, VisualStation VS960HD et Router Manager) utilisant le code pppd ou lwIP.

En tant que tel, le patch est déjà disponible dans les référentiels de la plupart des distributions Linux et certaines l'ont déjà implémenté en proposant la mise à jour du package.

Si vous voulez en savoir plus sur le défaut trouvé, vous pouvez vérifier les détails et plus d'informations dans le lien suivant.


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.