OpenVPN : débordement de pile dans le service interactif sous Windows (CVE-2024-27459)Google Chrome : faille critique dans libwebp exploitée activement (CVE-2023-4863)Ruby on Rails : exécution de code à distance via le parsing XML (CVE-2013-0156)
Vulnérabilité

Ruby on Rails : exécution de code à distance via le parsing XML (CVE-2013-0156)

Description

Rails convertit automatiquement les paramètres d’une requête en structures Ruby. Lorsque la requête est envoyée en XML, le code de conversion de types acceptait aussi des symboles et des documents YAML. Or désérialiser du YAML fourni par l’utilisateur revient à le laisser instancier des objets Ruby arbitraires.

Un attaquant pouvait donc envoyer une requête XML contenant un objet YAML encodé et, selon l’application, exécuter du code sur le serveur, injecter du SQL, contourner l’authentification ou provoquer un déni de service. L’équipe Rails a qualifié la faille d’« extrêmement critique » et publié des correctifs pour toutes les branches maintenues.

Pourquoi elle reste d’actualité

Cette faille est devenue un cas d’école de la désérialisation non sûre. Elle rappelle que les applications « historiques », jamais migrées, restent exposées des années après la publication du correctif — un scénario fréquent dans les audits de SI vieillissants.

Ce que nous recommandons

  • Inventorier les applications Rails et leur version exacte, y compris les outils internes.
  • Planifier la migration des applications sur des branches Rails non maintenues.
  • Ne jamais désérialiser de données non fiables (YAML, Marshal) sans liste blanche de types.