top of page
Rechercher

Blockstrap (CVE-2026-103849) : RCE non authentifiée CVSS 10 dans Magento et Adobe Commerce

Photo du rédacteur: Loïc Castel
Loïc Castel
il y a 3 jours
7 min de lecture

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).


Logo généré par Gemini (Google)
Logo généré par Gemini (Google)

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

  1. 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.

  2. 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

  3. 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.

  4. 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.

  5. Ne pas utiliser 2.4.10-alpha1 en production : il contient les correctifs mais reste une alpha.

  6. 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.

 
 
bottom of page