Quotidien suisseVendredi 18 septembre 2026Édition de 13h, technologie
Prochaine publication le 18 septembre 2026 à 17h
Une · Sécurité · Agents
Plugin4Shell : RCE zéro-clic sur Claude Code, Codex, Copilot et Gemini CLI
Le 17 septembre, le laboratoire Air Security publie Plugin4Shell : une faille de chaîne d’approvisionnement qui contourne le « SHA pinning » des plugins des agents de coding majeurs. Anthropic et OpenAI ont déjà patché ; Microsoft n’a pas livré de correctif Copilot ; Google ne corrigera pas Gemini CLI, déprécié.
Selon Or Nevo, Dor Granat et Niv Hoffman (Air), l’agent clone le dépôt du plugin et fait un git checkout du commit épinglé par la marketplace, sans vérifier que le HEAD obtenu est bien ce commit. Un attaquant qui contrôle le dépôt peut créer une branche dont le nom est exactement le SHA épinglé (40 hex) ; git checkout préfère alors la ref à l’objet, et le pin « semble » honoré. Avec les auto-mises à jour de plugins (défaut Claude Code et Codex), le swap atteint les installations déjà présentes sans interaction utilisateur.
Deux chemins : publier un plugin bénin puis le basculer, ou détourner le dépôt d’un auteur légitime (chaîne déjà montrée via SkillJacking / RepoJacking). Correctifs : Claude Code 2.1.179 (Anthropic, confirmé 17 juin) et Codex 0.146.0 (OpenAI, vérifié 12 août). GitHub refuse les noms de branche en forme de SHA, ce qui protège les marketplaces hébergées chez lui ; Air rappelle que Bitbucket et les git auto-hébergés — backends documentés — acceptent ces noms, et que Copilot les prend en charge. Gemini CLI reste exposé ; Google oriente vers Antigravity. La mitigation côté agent : après checkout, git rev-parse HEAD doit égaler le SHA épinglé, sinon abort.
Hacktron : accès au monorepo interne d’OpenAI via Claude, prime 6 500 $
Le Wall Street Journal, Forbes et Business Insider relayent, les 17–18 septembre, le récit de Hacktron AI (Harsh Jaiswal, Mohan Pedhapati, Rahul Maini) : en juillet 2026, enchaînement d’une RCE sur le forum Discourse community.openai.com (décodage d’images HEIF/libheif via ImageMagick) et d’une mauvaise configuration SSO OpenAI, menant à la prise de contrôle de comptes ChatGPT/Codex d’employés. Preuve d’impact : ouverture d’une PR inoffensive (#1186742) dans le monorepo interne via Codex connecté à GitHub, sans lecture de code source revendiquée.
L’équipe a utilisé Claude (Opus 5 notamment) pour accélérer le développement d’exploits mémoire ciblés, dans le cadre d’un bug bounty. OpenAI a corrigé côté identité en environ 14 heures et a versé 6 500 $ — pour la faille SSO, le forum Discourse étant hors périmètre explicite. Discourse a publié un avis et renforcé le sandboxing ImageMagick. Le même fil nourrit « HEIF Heist », enquête plus large sur libheif/libde265 dans d’autres produits ; les éditeurs concernés sont appelés à mettre à jour les décodeurs et à isoler le traitement d’images non fiables.
Apertus 1.5 entre dans Lumo (Proton) : retour d’usage pour le LLM ouvert suisse
EPFL et Proton annoncent le 17 septembre l’intégration d’Apertus 1.5 — modèle de langage entièrement ouvert (Apache 2.0), co-développé par EPFL, ETH Zurich et le CSCS sur le supercalculateur Alps — dans Lumo, l’assistant IA de Proton. Pour la première fois, l’équipe de recherche pourra recevoir des retours anonymisés de millions d’utilisateurs ayant donné un consentement éclairé, tout en conservant le chiffrement zero-access des conversations Lumo.
Imanol Schlag (ETH AI Center, co-lead) et Martin Jaggi (EPFL, co-lead) soulignent le manque historique de feedback réel pour les modèles ouverts académiques. Eamonn Maguire (Proton) inscrit le partenariat dans une ligne de souveraineté technologique européenne. Apertus est déjà déployé chez Swisscom, Infomaniak (Euria), OnPrem.ai, Safe Swiss Cloud, Helvetra et d’autres ; Lumo élargit la base d’usage grand public. Données d’entraînement publiques, respect des opt-out sites (y compris rétroactifs), documentation transparente du code et du processus.
Clang Context Analysis sur KVM : annotations de verrous pour que le compilateur voie les chemins
RFC LKML du 10 septembre 2026 : Marco Elver (Google) propose d’activer l’analyse de contexte Clang pour KVM x86 — 10 patches, +745/−236 lignes. Premier gain concret : une section critique SRCU manquante sur les filtres PMU x86. Le reste est non fonctionnel : annotations __must_hold, guarded_by, et refactorings pour éliminer les prises de mmu_lock conditionnelles que l’analyseur ne peut pas suivre.
Le problème. Les verifyers de verrous classiques (sparse, lockdep à l’exécution) ne voient pas tous les chemins compilés. Clang Context Analysis, documenté dans le noyau (dev-tools/context-analysis), propage des attributs de contexte (qui détient quel verrou, mode partagé/exclusif) à la compilation. Mais il exige des patterns « lisibles » : un if (!lockless) KVM_MMU_LOCK() au milieu d’une boucle, ou un flag found_memslot qui décide plus tard d’acquérir le verrou, sort du modèle. D’où les patches 3–5 : séparer d’abord la recherche de memslots qui chevauchent (interval tree), puis brancher clairement chemin lockless vs chemin sérialisé — même sémantique, graphe de contrôle plus plat.
Ce que ça trouve. Patch 1 : pmc_is_event_allowed() lisait un filtre PMU sans section SRCU read-side — course possible si le filtre est remplacé. Les annotations de base (patches 6–9) marquent kvm_lock, membres de struct kvm, ioapic, Hyper-V, etc. Les fonctions qui prennent un nombre dynamique de mutex vCPU (kvm_lock_all_vcpus…) sont opt-out : le modèle statique ne peut pas compter « N verrous ». MMU (mmu.c, tdp_mmu.c), i8259 et Xen sont reportés à des suites — trop invasifs pour cette RFC.
Le débat. Sean Christopherson (mainteneur KVM) demande, le 10 septembre, une justification plus nette du coût de maintenance : que gagne-t-on au-delà du bug SRCU déjà corrigé ? Faut-il voir les changements MMU avant de s’engager ? Les opt-out par fonction existent. Leçon Atelier : un analyseur de verrous n’est utile que si le code accepte d’être écrit pour lui — découpler recherche et locking, éviter les verrous « peut-être » au milieu d’une itération. En userspace (Rust borrow checker, Clang Thread Safety Analysis, Go race detector) : même contrainte — la structure du contrôle de flux est aussi une API pour les outils.
Cloudflare : « Disallow AI Training » sans quitter la recherche
Depuis le 15 septembre, Cloudflare propose un réglage qui publie une préférence no-training dans robots.txt tout en laissant crawler pour la recherche les bots « Accountable » (Apple, Google, Microsoft). Les crawlers d’entraînement purs (Amazon, Anthropic, Meta, OpenAI training…) restent bloqués. L’ancien « Block » s’applique désormais aussi aux crawlers mixtes — y compris Googlebot si on choisit Block plutôt que Disallow.
Pixel : zero-day modem CVE-2026-58704, délai CISA de 3 jours
Google a corrigé le 15 septembre une erreur de logique dans le modem cellulaire Pixel (CVSS 8.0), avec exploitation ciblée limitée confirmée. La CISA a inscrit la faille au catalogue KEV avec une fenêtre de remédiation fédérale de trois jours — nettement plus courte que le délai habituel sous BOD 22-01.
Un chercheur publie le 18 septembre quatre élévations de privilèges locales du noyau (CVE-2026-80844, -81000, -68121, -74469), avec détails techniques et preuves de concept après embargo coordonné. Pas d’exploitation confirmée in the wild. Correctifs dans les stables listés (ex. 6.12.109, 6.18.50, 7.2.4) ; namespaces utilisateur non privilégiés mitigent partiellement trois des quatre.