Posh : rustine sur portaneo.com

Je vais pouvoir en dire plus à propos de cette faille qui concerne la version 1.3.0 et inférieures. Je suis en relation en ce moment avec le fondateur de posh qui m’assure qu’un travail important au niveau de la sécurité sera fait à partir de fin juillet.
Devant l’ampleur du problème, le prochain patch (fin de semaine) va normalement boucher le trou que j’ai trouvé.

Je pense que les erreurs de design seront réparées (je l’espère) dans la prochaine version majeure. En tout cas j’essaye d’influencer dans ce sens.

Mot de passe admin en clair

Posh 1.3.0 enregistre le mot de passe admin en clair dans la base de données afin de chiffrer les mots de passe des utilisateurs avec. Les mots de passe utilisateurs sont enregistrés en MD5 et en AES, le mot de passe admin servant de clé.

Si on obtient le mot de passe administrateur sur cette installation on a donc accès à tous les mots de passe. Sachant qu’en général sur ce type d’installation (par défaut avec posh) le nom d’utilisateur est l’email de la personne, et qu’en général on utilise tous le même mot de passe de partout : on peut récupérer tous les mots de passe.

Injection SQL possible

Posh pour l’instant ne fait reposer sa sécurité (en ce qui concerne les injections SQL) que sur les magic_quotes de apache. Si celles si sont désactivées, tous les formulaires sont sujets à injection.

Avec l’option activée, il existe dans la version 1.3.0 un formulaire déprotégé : les paramètres récupérés en $_POST sont passés à la moulinette de stripslashes. En entrant quelque chose comme : ", parametre=(SELECT mot_de_passe_admin FROM la_où_ça_va_bien),parametre2=" on peut voir apparaitre le mot de passe de l’admin sur son écran.

Rustine

Concerne toutes les installations de posh 1.3.0 :

  • Si magic_quotes est off : désinstallez posh
  • Si magic_quotes est on :
    • Désactivez la possibilité pour les utilisateurs de proposer des modules (en attendant la mise à jour)
    • Changez le mot de passe admin (je ne sais pas si l’interface le permet)
    • Supprimez les modules en attente de validation dans la table tmp_jesaisplusquoi.

Question : je le fais en anglais celui‐ci aussi ?

Laisser un commentaire