Les utilisateurs de Parse Server, un module de serveur API populaire pour Node/Express, sont invités à appliquer immédiatement un correctif pour une vulnérabilité d’exécution de code à distance (RCE).

Découverte par les chercheurs en sécurité Mikhail Shcherbakov, Cristian-Alexandru Staicu et Musard Balliu, la vulnérabilité affecte le paquet NPM parse-serverversions inférieures à 4.10.7.

Dans un conseil en sécurité publié sur GitHub, le 11 mars, l’équipe a déclaré que la vulnérabilité RCE avait été découverte dans une configuration par défaut avec MongoDB et avait été confirmée dans les versions Ubuntu et Windows du logiciel.

Pollution prototype

La cause profonde du problème de sécurité en jeu est la pollution des prototypes.

La pollution des prototypes se produit lorsque des attaquants abusent des règles du langage de programmation JavaScript pour compromettre une application – ouvrant la porte à des exploits, notamment l’exécution de code à distance, diverses formes d’attaques de script intersite (XSS), des injections SQL, etc.

Parse Server est un logiciel backend open source pour les serveurs et les systèmes qui exécutent Node.js. Il peut s’exécuter à la fois indépendamment ou avec d’autres frameworks d’applications Web, notamment MongoDB et PostgreSQL.

PLONGÉES PROFONDES Pollution des prototypes : la vulnérabilité dangereuse et sous-estimée qui affecte les applications JavaScript

Selon les chercheurs, le code dans les NPM du serveur d’analyse DatabaseController.js fonction était la source de la vulnérabilité.

Shcherbakov et Staicu ont déclaré que la faille de sécurité ayant été découverte dans la fonction de base de données, elle « affectera probablement Postgres et tout autre backend de base de données également ».

Parler à La gorgée quotidienneShcherbakov a déclaré que le code vulnérable n’était pas spécifique à des modules de base de données particuliers et, en théorie, « devrait être accessible avec n’importe quel backend de base de données ».

« Cependant, l’exploitation nécessite un gadget pour obtenir l’exécution de code arbitraire et une sorte de condition de course pour exécuter le gadget dans l’ordre requis », a expliqué Shcherbakov. « J’ai trouvé le gadget et la condition de concurrence dans les modules MongoDB pour démontrer l’exploit. Je n’ai pas essayé d’utiliser une autre base de données, mais c’est probablement possible.

Imparfait 10

Suivi comme CVE-2022-24760le bogue RCE attend un score CVSS formel du NIST, mais GitHub – une autorité de numérotation CVE (CNA) – a attribué à la vulnérabilité un score de base de 10 – la gravité la plus élevée possible.

Parse Server 4.10.7 inclut un correctif pour CVE-2022-24760. Une partie du correctif comprend un scanner pour les mots-clés sensibles afin de se protéger contre les prototypes d’attaques de pollution.

Les utilisateurs sont invités à mettre à jour au moins v.4.10.7 du serveur d’analyse.

Une solution de contournement possible, sans appliquer la mise à jour recommandée, consiste à corriger le pilote MongoDB Node.js et à désactiver l’exécution du code BSON.

La version la plus récente disponible est 5.0.0qui regroupe également des contrôles de sécurité de téléchargement de fichiers nouveaux et améliorés.

La gorgée quotidienne a contacté le projet avec des questions supplémentaires. Nous mettrons à jour cette histoire au fur et à mesure que nous entendrons les développeurs de Parse Server.