Une vulnérabilité d’instanciation d’objets arbitraires non authentifiés dans LDAP Account Manager (LAM) a été découverte lors d’un test d’intrusion interne.

LAM est une application Web PHP permettant de gérer des entrées telles que des utilisateurs, des groupes ou des paramètres DHCP dans des annuaires LDAP via une interface Web, et constitue l’une des alternatives à FreeIPA. Il est inclus dans les dépôts Debian.

Mais une vulnérabilité découverte par le chercheur Arseniy Sharoglazov pourrait permettre à un attaquant de créer des objets arbitraires et de réaliser l’exécution de code à distance (RCE) en une seule requête, et sans aucune connexion hors bande.

En construction

La technique dépend de l’exploitation de la construction nouveau $a($b)avec la variable $a représentant le nom de la classe pour laquelle l’objet sera créé, et la variable $b désignant le premier argument à passer au constructeur de l’objet.

« Lorsque vous codez dans n’importe quel langage de programmation, vous pouvez utiliser de bonnes ou de mauvaises pratiques de programmation. L’utilisation de la construction neuve $a($b)qui instancie des objets arbitraires, est une mauvaise pratique, si $a et $b provenir d’une entrée non contrôlée », explique Sharoglazov La gorgée quotidienne.

« C’est une construction douteuse. Cependant, personne n’a montré que c’était vraiment dangereux, alors certaines personnes pensent que tout devrait bien se passer. »

Bien que la technique nécessite l’extension Imagick, dit-il, celle-ci est généralement présente dans les sites Web plus importants, y compris le système LAM lui-même.

Sharoglazov dit que des vulnérabilités d’instanciation d’objets arbitraires similaires existent depuis un certain temps, mais ne sont généralement pas signalées comme telles.

« Par exemple, vous pourriez avoir connaissance d’un SSRF dans un logiciel commercial. Si vous connaissiez le PoC, vous verriez qu’il s’agit en fait d’une instanciation d’objet arbitraire avec l’utilisation de la classe SoapClient, par exemple. Mais pour le public, ce ne sera que SSRF », dit-il.

« Ou vous pourriez lire sur une injection SQL. Mais c’est en fait une instanciation d’objet arbitraire exploitée via une classe définie par l’utilisateur qui a une injection SQL. Cette technique, que j’ai trouvée et décrite, montre comment exploiter une instanciation d’objet arbitraire directement dans RCE.

Divulgation coordonnée

Sharoglazov dit que le processus de divulgation s’est déroulé rapidement et efficacement. Il a d’abord signalé la faille le 16 juin, avec LAM 8.0.1 sorti le 29 juinpaquets Debian mis à jour le 5 juillet et divulgation publique le 14 juillet.

« J’ai écrit à Roland Gruber, le développeur de LAM, et j’ai reçu une première réponse en à peine une heure », raconte-t-il.

«Nous avons discuté de ce qui doit être fait pour corriger les vulnérabilités et du processus de durcissement qui rendra LAM beaucoup plus sûr. Ensuite, nous avons fait une divulgation coordonnée avec lui et Debian.

CONSEILLÉ La vulnérabilité de sécurité de Microsoft Teams a laissé les utilisateurs ouverts à XSS via la fonction d’autocollants défectueux