Vulnérabilité dans ld.so OpenBSD

Chargeur dynamique ld.so, inclus dans OpenBSD, dans certaines conditions peut laisser la variable d'environnement LD_LIBRARY_PATH et ainsi permettre de charger du code tiers dans le contexte d'un processus exécuté avec des privilèges élevés. Des correctifs pour la vulnérabilité sont disponibles pour les versions SUID/SGID-applications. Des patchs binaires ( 6.5 et 6.6syspatch) pour les plateformes amd64, i386 et arm64 sont déjà en production et devraient être disponibles au téléchargement au moment de la publication de cette nouvelle.Essence du problème : lors de l'exécution, ld.so extrait d'abord la valeur de la variable LD_LIBRARY_PATH de l'environnement, en utilisant la fonction _dl_split_path() pour la transformer en un tableau de chaînes - chemins vers les répertoires. Si plus tard il s'avère que le processus actuel est exécuté en tant qu'application SUID/SGID, le tableau créé et, en fait, la variable LD_LIBRARY_PATH sont nettoyés. Cependant, si lors de l'exécution de _dl_split_path() il rencontre un manque de mémoire (ce qui est difficile en raison d'une restriction explicite de taille des variables d'environnement à 256 Ko, mais théoriquement possible), la variable _dl_libpath recevra la valeur NULL, et la vérification suivante de cette variable fera sauter l'appel à _dl_unsetenv("LD_LIBRARY_PATH").

La vulnérabilité a été trouvée par des spécialistes

Qualys , aussi bien queplusieurs problèmes révélés précédemment. Les chercheurs en sécurité qui ont découvert la vulnérabilité ont souligné la rapidité de la résolution du problème : un correctif a été préparé et des mises à jour ont été publiées dans les trois heures suivant la notification du projet OpenBSD. Complément : Le problème a reçu le numéro CVE-2019-19726

. Une annonce officielle a été faite sur la liste de diffusion oss-security , incluant un prototype d'exploit fonctionnant sous OpenBSD 6.6, 6.5, 6.2 et 6.1 sur les architecturesamd64 et i386 (l'exploit peut être adapté à d'autres architectures). Le problème est exploitable dans une installation par défaut et permet à un utilisateur local non privilégié d'exécuter du code avec les droits root en remplaçant une bibliothèque lors du lancement des utilitaires suid chpass ou passwd. Pour créer les conditions nécessaires à l'exploitation, une limitation de mémoire est utilisée par la configuration de RLIMIT_DATA via setrlimit.Comment évaluer son niveau d'anglais
Sortie de Chrome 79
Le chargeur dynamique ld.so, inclus dans OpenBSD, dans certaines conditions peut pour

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster