Quality Patches Magento 2 : les correctifs incontournables sur 2.4.6 → 2.4.8

• Maxime • 25 min de lecture

Quality Patches Magento 2 : les correctifs incontournables sur 2.4.6 → 2.4.8

Novembre 2025. On ouvre l’admin d’une boutique Magento 2.4.7 installée en environnement de développement et on tombe sur une page blanche avec une exception incompréhensible dans Calendar.php. Le serveur a été mis à jour, PHP est à jour, Magento est à jour — et pourtant le back-office est inaccessible. Après investigation : une mise à jour de la bibliothèque ICU (International Components for Unicode) avait supprimé les marqueurs AM/PM pour les langues qui utilisent nativement le format 24 heures, comme le français. Magento cherchait ces valeurs, ne les trouvait pas, et plantait.

Ce bug a mis 17 mois à obtenir un patch officiel dans le Quality Patches Tool d’Adobe, sous la référence ACSD-63326. Il est corrigé nativement en 2.4.8. C’est un exemple parfait de ce que sont les quality patches — et de pourquoi savoir les utiliser est une compétence clé dans la maintenance d’une boutique Magento.

Quality patches vs patches de sécurité — la distinction fondamentale

Adobe publie deux types de correctifs pour Magento, qu’il ne faut pas confondre :

Patches de sécurité (APSB)

Corrigent des vulnérabilités exploitables par des attaquants — risque de compromission

Publiés selon un calendrier mensuel depuis janvier 2026 — auparavant trimestriel

Disponibles sous forme de versions patch (2.4.7-p5, 2.4.8-p1…)

Priorité absolue — appliquer dans les jours qui suivent la sortie

Quality Patches (ACSD, MDVA)

Corrigent des bugs de qualité — dysfonctionnements, erreurs, comportements inattendus

Disponibles via le Quality Patches Tool (QPT) — applicables sans upgrade complet

Chaque patch cible une version ou une plage de versions précise

Appliquer selon les bugs rencontrés sur votre boutique

Le QPT est livré sous forme de package Composer et s’installe en une commande. Il permet de lister les patches disponibles pour votre version, de les appliquer et de les annuler sans toucher au code core de Magento.

# Installer le QPT
composer require magento/quality-patches

# Lister les patches disponibles pour votre version
./vendor/bin/magento-patches status

# Appliquer un patch
./vendor/bin/magento-patches apply ACSD-63326

# Annuler un patch
./vendor/bin/magento-patches revert ACSD-63326

ACSD-63326 — Calendar.php et ICU 74+ (le bug du fil rouge)

Versions affectées

2.4.6 à 2.4.7-px inclus
Avec ICU ≥ 74.1 sur le serveur

Symptôme

Back-office inaccessible ou page blanche — erreur sur Calendar.php ligne 114

Statut

ACSD-63326 disponible via QPT v1.1.57

Corrigé nativement en 2.4.8

La cause : la bibliothèque ICU, utilisée par l’extension PHP intl, a supprimé les balises AM/PM pour les langues qui n’en ont pas besoin (format 24h, comme le français). Magento cherchait $localeData['calendar']['gregorian']['AmPmMarkers']['0'], obtenait null, et PHP 8 transformait cet accès en exception fatale.

Trois solutions selon votre contexte :

Trois façons de corriger ACSD-63326 selon votre situation

1

Patch direct sur vendor/ (le plus rapide)

Remplacer les deux lignes problématiques par une version avec opérateur ?? — attention : ce patch est écrasé à chaque upgrade Magento et doit être réappliqué

2

Module Maxcode_CalendarFix (le plus robuste avant 2.4.8)

Un module de preference qui surcharge la méthode _toHtml() avec un guard sur isset() — survit aux upgrades, maintenable proprement via Composer

3

ACSD-63326 via QPT (la solution officielle)

Disponible depuis QPT v1.1.57 — solution propre, traçable, réversible. À préférer sur les versions 2.4.6 et 2.4.7 tant que la migration vers 2.4.8 n’est pas faite

CosmicSting — CVE-2024-34102 (CVSS 9.8)

CosmicSting est la vulnérabilité Magento la plus exploitée de 2024. Une faille d’injection XML externe (XXE) dans l’API REST permettait à un attaquant non authentifié de lire des fichiers arbitraires sur le serveur — dont le fichier app/etc/env.php qui contient la clé de chiffrement. Avec cette clé, l’attaquant pouvait forger des tokens JWT valides et obtenir un accès admin complet, puis enchaîner avec une exécution de code à distance via une faille glibc (CVE-2024-2961).

Cette vulnérabilité a conduit à plus de 4 275 boutiques compromises, réparties entre sept groupes d’attaquants distincts. Elle affectait toutes les versions de Magento jusqu’à 2.4.7 inclus avant le patch.

CVE-2024-34102

CVSS 9.8 — Critique

XXE unauthenticated — lecture de fichiers serveur, forge de tokens admin, exécution de code

4 275 boutiques compromises

Versions affectées

2.4.4 à 2.4.4-p8
2.4.5 à 2.4.5-p7
2.4.6 à 2.4.6-p5
2.4.7 (non patché)

Correctif

Patch isolé APSB24-40 sur Adobe Experience League

Inclus dans 2.4.6-p6, 2.4.5-p8, 2.4.4-p9, 2.4.7-p1

+ Rotation des clés de chiffrement recommandée si exposition possible

Un point crucial souvent négligé : appliquer le patch ne suffit pas si votre boutique a déjà été exposée avant. La clé de chiffrement peut avoir été lue. Il faut dans ce cas effectuer une rotation de clé via php bin/magento encryption:key:change (disponible nativement en 2.4.8, nécessite un patch sur les versions antérieures) et vérifier l’absence de backdoor dans les fichiers.

SessionReaper — CVE-2025-54236 (CVSS 9.1)

Plus récent et tout aussi préoccupant : SessionReaper est une faille de validation d’entrée dans l’API REST de Magento qui permettait à un attaquant de détourner des comptes clients et d’obtenir un accès serveur par exécution de code à distance. Plus de 250 boutiques ont été compromises dans les 24 heures suivant la publication du patch en octobre 2025. Six semaines après la sortie du correctif, 62% des boutiques Magento restaient encore vulnérables.

CVE-2025-54236

CVSS 9.1 — Critique

Hijacking de comptes clients via API REST + exécution de code à distance

250+ boutiques en 24h

Fenêtre d’exposition

Exploitée massivement dès la publication du patch

62% des boutiques encore exposées 6 semaines après

Leçon

Les attaquants analysent les patches dès leur sortie pour reverse-engineer les failles

La fenêtre entre sortie du patch et exploitation active se réduit d’année en année

phpspreadsheet — CVEs sur la librairie d’import/export

Magento utilise la bibliothèque phpoffice/phpspreadsheet pour toutes les opérations d’import et d’export de données (produits, clients, commandes). Cette bibliothèque a été affectée par plusieurs CVEs en 2024-2025, dont des failles permettant l’injection de formules dans les fichiers Excel générés (CSV injection) et des failles de traversée de répertoire.

Ces vulnérabilités ne sont pas des patches Magento à proprement parler — elles se corrigent en mettant à jour la version de phpspreadsheet dans le composer.json de votre projet. La version 1.30.4+ (pour Magento 2.4.7 et antérieur) ou 2.x (pour les projets qui peuvent migrer) corrige les CVEs documentées. C’est un point systématiquement vérifié dans nos interventions de maintenance.

ACSD-51892 — Config files chargés plusieurs fois

Ce patch corrige un problème de performance où les fichiers de configuration Magento étaient chargés plusieurs fois lors d’un même cycle de requête, entraînant une dégradation notable des temps de réponse de l’admin sur les boutiques avec une configuration volumineuse. Il a été absorbé nativement dans les patches 2.4.6-p2 et 2.4.6-p3 — si vous êtes encore sur 2.4.6-p1, ce patch seul peut régler des lenteurs inexpliquées dans le back-office.

Tableau récapitulatif — patches par version

Patches incontournables selon votre version Magento

Patch / CVE Criticité Versions concernées Statut en 2.4.8
CVE-2024-34102
CosmicSting
CVSS 9.8 2.4.4 → 2.4.7 ✓ Natif
CVE-2025-54236
SessionReaper
CVSS 9.1 2.4.6 → 2.4.8-p4 Patch requis
ACSD-63326
Calendar / ICU
Qualité 2.4.6 → 2.4.7-px ✓ Natif
phpspreadsheet
CVEs multiples
Moyen Toutes versions Composer update
ACSD-51892
Config load perf
Perf 2.4.6 → 2.4.6-p1 ✓ Depuis p2

Vérifie ça avant d’agir — les versions affectées peuvent évoluer avec les nouvelles releases. Source : Adobe Experience League, Sansec

Comment utiliser le QPT efficacement

Quelques règles de bonne pratique issues de notre usage quotidien du QPT sur des boutiques en production :

Bonnes pratiques QPT

✓ À faire

Toujours tester en staging d’abord

Un patch peut résoudre un bug et en introduire un autre — staging obligatoire

Documenter les patches appliqués

Tenir un registre des patches actifs — indispensable lors d’un futur upgrade

Vérifier la compatibilité avant upgrade

Certains patches ACSD ne sont plus nécessaires en version supérieure — les révoquer avant

✗ À éviter

Appliquer en masse sans vérifier les conflits entre patches

Oublier de réappliquer les patches après un upgrade de Magento

Confondre patch qualité et patch sécurité — priorités très différentes

Adobe le dit lui-même : ne pas appliquer un grand nombre de patches en même temps — ça complexifie les futurs upgrades

La vraie difficulté : savoir quels patches s’appliquent à vous

Le QPT liste des centaines de patches disponibles. La commande ./vendor/bin/magento-patches status filtre automatiquement ceux compatibles avec votre version — mais elle ne vous dit pas lesquels vous concernent réellement. Un patch qui corrige un bug sur les produits téléchargeables n’est pas pertinent si vous ne vendez que du physique. Un patch de performance sur GraphQL n’a pas d’intérêt si vous n’utilisez pas d’application headless.

C’est là que l’expérience terrain fait la différence. Savoir identifier les patches pertinents selon la configuration d’une boutique spécifique — ses extensions, ses personnalisations, son usage de l’API — c’est une partie non négligeable du travail de maintenance proactive.

FAQ

Les patches QPT sont-ils écrasés lors d’un upgrade Magento ?

Les patches QPT modifient les fichiers vendor via un mécanisme de patching Composer — ils sont donc effectivement écrasés lors d’un composer update. C’est une des raisons pour lesquelles il faut documenter les patches appliqués et vérifier, après chaque upgrade, si les patches sont toujours nécessaires (parfois le bug est corrigé nativement dans la nouvelle version) et si oui, les réappliquer.

Comment savoir si mon site a déjà été compromis via CosmicSting ?

Les indicateurs à vérifier : présence de fichiers PHP suspects dans pub/media/ ou pub/static/, comptes admin créés récemment que vous ne reconnaissez pas, modifications dans les blocs CMS de la page checkout. L’outil Sansec Ecomscan est une référence pour détecter les traces de compromission sur une boutique Magento. Si vous avez un doute, une analyse approfondie par un prestataire spécialisé est recommandée avant de simplement appliquer le patch.

Faut-il appliquer tous les patches ACSD disponibles pour ma version ?

Non — et Adobe le déconseille explicitement. Appliquer un grand nombre de patches augmente la complexité du code et rend les futurs upgrades plus difficiles. La bonne approche est de cibler les patches qui correspondent à des bugs réellement rencontrés sur votre boutique, ou aux quelques patches de performance/qualité reconnus comme bénéfiques pour la majorité des installations.

Vous ne savez pas quels patches s’appliquent à votre boutique ?

Dans notre forfait de maintenance mensuelle, on audit les patches applicables, on identifie ceux qui vous concernent et on les applique proprement — avec documentation et tests. Aucune surprise lors de vos prochains upgrades.

Demander un audit patches →
ML

Maxime

Magento 2 Specialist

Fondateur d'eBusiness360 — expert Magento 2 depuis 2010.