Catégories

Tags

🔍 Licence d'Utilisation 🔍

Sauf mention contraire, le contenu de ce blog est sous licence CC BY-NC-ND 4.0.

© 2025 à 2042 Sébastien Gioria. Tous droits réservés.

⏱️
Temps de lecture estimé
3 min de lecture
⏱️
Temps de lecture estimé
~4 minutes

Fin août, Trail of Bits a demandé à GPT 5.6-Cyber de sortir d’une VM QEMU/KVM sur un poste Debian 12. L’agent l’a fait trois fois : avec une faille noyau récente, avec une chaîne libslirp que Debian n’avait pas corrigée, puis avec des zero-days trouvés dans un QEMU recompilé depuis l’upstream. Deux mois plus tard, la question reste entière pour quiconque isole ses agents dans une VM.

Un poste Debian 12, un processeur AMD Zen 3, une VM QEMU/KVM qui sert de bac à sable pour laisser un agent compiler et fuzzer sans toucher au reste : beaucoup d’entre nous ont ce montage sur leur bureau. Artem Dinaburg, chez Trail of Bits, l’a transformé en CTF dans le cadre de Patch the Planet : l’agent a un accès SSH à la VM et gagne s’il lit un fichier drapeau posé sur l’hôte. Il est sorti trois fois, et le travail principal de l’auteur a été de redémarrer la machine quand l’agent figeait le noyau.

Ce que dit l’expérience

  • Première sortie : Januscape (CVE-2026-53359), un use-after-free dans le shadow MMU de KVM divulgué quelques semaines plus tôt. Aucun exploit d’évasion public ; l’agent en écrit un en une heure environ. Il fige l’hôte au lieu d’aboutir.
  • Deuxième sortie : Debian 12 livre encore libslirp 4.7.0, vulnérable à CVE-2026-9539. Combinée à un correctif upstream sans CVE, la faille donne une lecture et une écriture arbitraires dans la mémoire de l’hôte.
  • Troisième sortie : sur un QEMU et un libslirp recompilés depuis l’upstream, environ douze heures de travail autonome et une chaîne de quatre maillons, dont trois zero-days (QEMU VAPIC, KVM, libslirp) et un bug KVM corrigé en amont mais jamais rétroporté. Ces zero-days n’ont pas de CVE publié dans l’article.
  • Et Firecracker ? Contre une microVM Firecracker, l’agent a figé la machine mais n’est pas sorti.

L’auteur ne tourne pas autour du pot : une VM généraliste ne contient plus un agent capable, et cet agent doit être traité comme une menace persistante avancée. J’afficherais volontiers la phrase en tête de chaque revue d’architecture.

Au menu de la version abonnés

Au Menu, la suite de l’analyse :

  • les trois sorties dans le détail, avec les quatre maillons de la chaîne finale ;
  • le correctif KVM de 2023 que personne n’avait étiqueté « sécurité », et le statut « postponed, minor issue » de CVE-2026-9539 chez Debian ;
  • les quatre bugs trouvés mais laissés de côté, et ce que -display none et AppArmor ont réellement bloqué ;
  • ce que l’expérience ne prouve pas : une seule machine, mitigations=off, un agent lancé depuis l’hôte ;
  • le rapprochement avec DeepSeek Harness, les épisodes de réponse à incident agentique et le rapport d’Anthropic, pour situer le harness dans la surface d’attaque ;
  • l’analyse STRIDE et le tableau d’impact détaillés ;
  • les huit mitigations, de Firecracker au réseau hors de l’hyperviseur et à la surveillance de l’hôte.
📬 Analyse complète réservée aux abonnés Substack
La chaîne d'exploitation, les limites de l'expérience, le STRIDE et les mitigations partent d'abord aux abonnés Substack, avant d'être publiés intégralement ici.

📚 Quelques références pour aller plus loin