Blockstrap (CVE-2026-103849) : RCE non authentifiée CVSS 10 dans Magento et Adobe Commerce
Un mois après StyleSmuggler, le moteur de templates de Magento craque à nouveau. Blockstrap (CVE-2026-103849, CVSS 10.0) permet à un attaquant non authentifié d'exécuter du code PHP arbitraire sur toute boutique Adobe Commerce ou Magento Open
Source non corrigée. Adobe classe le correctif en priorité 2 (fenêtre de 30 jours).

Sansec a reproduit quatre chemins d'exploitation en moins de 24 heures, et StyleSmuggler a été exploité en masse en quelques jours. Patchez maintenant, et ne retirez surtout pas le hotfix de septembre.
Synthèse rapide
CVE : CVE-2026-103849, nom de code « Blockstrap »
CVSS : 10.0 — CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
Type : injection dans le moteur de templates (CWE-1336) menant à une RCE, sans authentification ni interaction utilisateur
Découverte : chercheur vozec, via le bug bounty Adobe ; analyse publique par Sansec le 15 octobre 2026
Bulletin : APSB26-153 (13 octobre 2026), priorité 2, 11 CVE dont 5 critiques
Versions affectées : Adobe Commerce 2.4.4 à 2.4.9 (builds -2026-sep et antérieurs), Magento Open Source 2.4.6 à 2.4.9, Adobe Commerce B2B 1.3.3 à 1.5.3
Versions corrigées : builds -2026-oct de chaque branche, ou patch isolé Adobe
Exploitation : aucune observée à ce jour (Adobe, Sansec). Pas de PoC public connu au 16 octobre. Sansec a toutefois reproduit quatre routes vers l'exécution de code en 24 h
Piège majeur : le correctif Blockstrap ne remplace pas le hotfix StyleSmuggler (VULN-39341 / CVE-2026-75650). Les deux sont requis
Angle mort : Magento Open Source 2.4.6 est affecté mais ne reçoit aucun correctif (fin de support le 11 août 2026)
Références et chronologie
Date | Évènement |
4 septembre 2026 | Début de l'exploitation de StyleSmuggler (CVE-2026-75650), avant tout correctif |
7 septembre 2026 | Adobe publie APSB26-146 et le hotfix VULN-39341 pour StyleSmuggler |
8 septembre 2026 | StyleSmuggler ajouté au catalogue KEV de la CISA |
1er octobre 2026 | Réservation de CVE-2026-103849 |
13 octobre 2026 | Adobe publie APSB26-153 (priorité 2) |
14 octobre 2026 | Sansec reproduit quatre chemins d'exécution de code à partir du diff du patch |
15 octobre 2026 | Publication de l'analyse Sansec, baptême « Blockstrap » ; aucune attaque observée sur des boutiques en production |
16 octobre 2026 | Pas de PoC public identifié |
Sources : Sansec — Blockstrap, Adobe APSB26-153, Adobe APSB26-146, notre article StyleSmuggler.
Analyse technique
Magento s'appuie sur un moteur de directives ({{block ...}}, {{template ...}}, {{layout ...}}, {{var ...}}) pour rendre e-mails, blocs CMS et certains contenus dynamiques. Ces directives peuvent instancier des blocs et appeler des méthodes PHP : tout contenu contrôlé par un attaquant qui atteint ce moteur sans être neutralisé devient un vecteur de RCE.
StyleSmuggler avait démontré qu'on pouvait faire transiter de telles directives via une donnée applicative (le champ styles d'une requête GraphQL), puis les déclencher au rendu d'un template d'e-mail. Le hotfix VULN-39341 a fermé les vecteurs identifiés à l'époque (notamment setTemplateStyles et la BlockFactory).
Blockstrap s'attaque à la même classe de faiblesse, mais un étage plus haut. D'après Sansec, des données d'un template enfant, contrôlées par l'attaquant, sont signées puis rescannées au niveau du template racine. Une directive « passée en contrebande » dans le contenu enfant échappe ainsi au filtrage appliqué à l'enfant et se retrouve interprétée lors du rendu final, avec toute la puissance du moteur.
Le correctif d'octobre est révélateur : Adobe abandonne le rescan générique du template au profit de placeholders enregistrés. Autrement dit, seuls les emplacements explicitement déclarés sont substitués ; le contenu injecté n'est plus réévalué comme du template. C'est une correction structurelle, pas un filtre de plus.
Le score CVSS en Scope: Changed traduit l'impact : la compromission du moteur de rendu donne la main sur le processus PHP, donc sur le serveur, les secrets (env.php, clé de chiffrement) et la base de données.
Exploitation et PoC
Aucun PoC public n'est disponible à date, et Sansec n'a pas publié le détail de ses quatre routes. Nous ne fournissons donc pas de walkthrough d'exploitation.
Ce point ne doit pas rassurer. Quatre chemins reproduits en 24 heures à partir du seul diff du patch signifient que la barrière à l'entrée est basse pour tout acteur capable de faire du patch diffing. Le précédent StyleSmuggler, sur la même surface, montre que la fenêtre entre publication et exploitation de masse se compte en jours. La publication d'un PoC public sera le signal d'escalade à surveiller ; nous mettrons cet article à jour le cas échéant.
Analyse d'impact
Prise de contrôle complète du serveur : exécution PHP arbitraire, dépôt de webshells et de backdoors persistantes (les campagnes StyleSmuggler ont déployé des backdoors Rust déguisés en processus système comme fc-cache ou chronyd).
Vol de secrets : app/etc/env.php, clé de chiffrement Magento, identifiants de base et d'API tierces. La clé de chiffrement permet ensuite de forger des jetons d'administration.
Skimming de cartes (Magecart) : injection de code de capture sur les pages de paiement, scénario historique sur Magento.
Fuite de données personnelles : base clients, adresses, historiques de commandes, comptes B2B.
PCI DSS : l'exigence 6.3.3 impose l'application des correctifs critiques sous un mois ; une RCE sur le périmètre de paiement compromet aussi les exigences 6.4.3 et 11.6.1 (intégrité des scripts de la page de paiement).
RGPD : une compromission avérée entraîne une obligation de notification à la CNIL sous 72 heures (article 33), et potentiellement aux personnes concernées.
À noter dans le même bulletin : CVE-2026-92909 (CVSS 9.8), une seconde RCE non authentifiée, propre à Adobe Commerce B2B. Les environnements B2B cumulent donc deux vecteurs critiques.
Indicateurs de détection
Sansec n'a pas publié d'IOC spécifiques à Blockstrap. Les indicateurs ci-dessous sont des signaux génériques de cette classe d'attaque, issus de l'expérience StyleSmuggler, à adapter à votre contexte.
Requêtes HTTP
Syntaxe de directive dans des corps de requête GraphQL ou REST : {{block, {{template, {{layout, {{var, {{depend, {{if, y compris encodée (%7B%7B).
Pic de requêtes POST /graphql ou /rest/* anonymes, en particulier sur les mutations panier, devis ou client.
Base de données (recherche de directives stockées dans des champs alimentés par l'utilisateur)
SELECT entity_id, created_at FROM quote
WHERE customer_note LIKE '%{{%' OR customer_firstname LIKE '%{{%' OR customer_lastname LIKE '%{{%';
SELECT entity_id, created_at FROM sales_order
WHERE customer_note LIKE '%{{%' OR customer_firstname LIKE '%{{%';
SELECT template_id, template_code, modified_at FROM email_template
WHERE template_text LIKE '%{{block%' OR template_styles LIKE '%{{%';Système
Fichiers PHP récents dans pub/, pub/media/, pub/static/, var/, generated/.
Nouvelles entrées crontab de l'utilisateur web, processus inattendus portant des noms de services système.
Connexions sortantes depuis PHP-FPM vers des destinations inconnues.
Créations de comptes administrateur ou d'intégrations API non planifiées (admin_user, integration, oauth_token).
Remédiation
Vérifier la présence du hotfix StyleSmuggler (VULN-39341, APSB26-146) et l'appliquer en premier s'il manque, avec la rotation de clé de chiffrement demandée par Adobe en septembre.
Appliquer APSB26-153 : build -2026-oct de votre branche, ou patch isolé si la montée de version n'est pas possible immédiatement.
Adobe Commerce : 2.4.9 / 2.4.8 / 2.4.7 / 2.4.6 / 2.4.5 / 2.4.4 -2026-oct
Magento Open Source : 2.4.9 / 2.4.8 / 2.4.7 -2026-oct
Adobe Commerce B2B : 1.5.3 / 1.5.2 / 1.4.2 / 1.3.4 / 1.3.3 -2026-oct
Ne pas retirer VULN-39341 lors de la montée de version : vérifiez après déploiement que les deux correctifs sont bien présents. C'est le piège opérationnel de cette release.
Magento Open Source 2.4.6 : pas de correctif. Migration vers 2.4.8 ou 2.4.9 à planifier en urgence ; en attendant, WAF/patch virtuel bloquant toute syntaxe de directive en entrée.
Ne pas utiliser 2.4.10-alpha1 en production : il contient les correctifs mais reste une alpha.
Déployer d'abord en préproduction, puis bin/magento setup:upgrade, compilation DI, déploiement statique, tests du tunnel de paiement et de la connexion admin.
Recommandations
Éditeurs, agences et intégrateurs
Traiter APSB26-153 en P0, sous 72 heures, indépendamment de la priorité 2 affichée par Adobe : RCE non authentifiée, CVSS 10, précédent d'exploitation éclair sur la même surface.
Auditer le parc client pour identifier le build exact (-2026-sep vs -2026-oct) et la présence de VULN-39341, pas seulement la branche mineure.
Recenser les instances Magento Open Source 2.4.6 et engager les clients sur la migration.
Revoir les extensions tierces qui alimentent le moteur de templates avec des données utilisateur (champs personnalisés, e-mails transactionnels, blocs CMS dynamiques).
SOC et Blue Team
Activer la journalisation des corps de requêtes GraphQL/REST sur le WAF ou le reverse proxy, au moins temporairement, et alerter sur la syntaxe {{...}}.
Déployer une règle de patch virtuel rejetant les directives de template dans les entrées anonymes, en complément (et jamais en remplacement) du correctif.
Exécuter les requêtes de chasse ci-dessus sur les instances exposées, y compris rétroactivement sur septembre (StyleSmuggler).
Mettre sous surveillance l'intégrité des scripts des pages de paiement (CSP, monitoring de scripts).
Réponse à incident
Toute instance non corrigée exposée après publication d'un PoC doit être présumée compromise : le patch ne retire pas une backdoor déjà en place.
En cas de doute : acquisition forensique (disque, base, logs web) avant remédiation, puis rotation de l'ensemble des secrets (clé de chiffrement Magento, mots de passe admin, base de données, clés API paiement et transporteurs).
Chercher la persistance au-delà du code Magento : crontab, services systemd, binaires dans /tmp ou /dev/shm, comptes admin et intégrations API.
Anticiper les obligations RGPD (72 h) et PCI DSS (information de l'acquéreur) dès la confirmation d'une compromission.
Besoin d'un audit de votre parc Magento ou d'un accompagnement en réponse à incident ? Contactez l'équipe Safercy.
Conclusion
Blockstrap confirme que le moteur de templates de Magento est devenu la surface d'attaque privilégiée de 2026. Le correctif d'Adobe est cette fois structurel, ce qui est une bonne nouvelle pour la suite. Mais la priorité 2 affichée ne reflète pas le risque réel : avec quatre chemins d'exploitation reproduits en une journée et le souvenir encore frais de StyleSmuggler, la seule posture raisonnable est de patcher cette semaine, en gardant le hotfix de septembre en place.
Chez Safercy, nous scannons en continu la surface d'attaque de nos clients avec SaferScan, notre solution de Pentest-as-a-Service. Lorsqu'une vulnérabilité comme Blockstrap est publiée, ce suivi permanent permet d'identifier rapidement les instances Magento et Adobe Commerce exposées et les builds non corrigés, puis de les prioriser via notre VOC (Vulnerability Operation Center), sans attendre le prochain audit.
Un scan ne remplace pas pour autant le regard d'un attaquant. Nos pentesteurs réalisent également des tests d'intrusion sur les plateformes e-commerce : validation de l'exploitabilité réelle, revue des extensions tierces et des flux métier (panier, paiement, B2B), recherche des chaînes d'attaque qu'aucun scanner automatisé ne détecte. Vous souhaitez savoir où en est votre boutique ? Contactez-nous.



