On y va cash. Une faille critique — surnommée SessionReaper — met en péril des boutiques Magento / Adobe Commerce : elle permet, sans authentification, de contourner des contrôles et d’usurper des sessions. CVE-2025-54236 a été notée CRITIQUE (CVSS 9.1). SecurityWeek
Rappelez-vous dĂ©jĂ le mois dernier on l’Ă©voquait :đź’Ą Adobe Commerce et la faille SessionReaper : quand le luxe de la licence ne protège pas du hack.
C’est bien la même SessionReaper (CVE-2025-54236) qui, après publication du correctif, est désormais exploitée plus largement parce que beaucoup de sites n’ont pas appliqué le patch. Si tu gères une instance vulnerable : patch ASAP, hunt & WAF
🔥 Gravité — pourquoi ça pique autant
C’est le combo que personne ne veut : vulnérabilité d’improper input validation dans le composant Web API (ServiceInputProcessor) — traduisons : une entrée mal filtrée permet à un attaquant de forcer la logique du serveur et de prendre le contrôle de sessions et comptes. Le score 9.1/10 le qualifie d’attaque potentiellement dévastatrice pour un e-commerce (compromission de comptes clients, injection de webshells, modification de commandes/prix, exfiltration). The Hacker News
🧪 Technique — comment ça fonctionne (version vulgarisée mais technique)
Les chercheurs décrivent un défaut proche d’une nested deserialization / input-processing : une requête spécialement construite échappe aux contrôles du ServiceInputProcessor et déclenche des exécutions non prévues côté serveur, parfois jusqu’à l’exécution de code ou l’injection de payloads (webshells). Les vecteurs observés incluent l’abus d’API REST exposées et des endpoints d’upload — automatisation directe des tentatives d’exploitation est déjà constatée. Sansec
🔍 État du terrain — patch, fuite et exploitation réelle
Adobe a publiĂ© un hotfix d’urgence (bulletin APSB25-88) le 9 septembre 2025 ; la recommandation officielle est d’appliquer immĂ©diatement le correctif sur les versions affectĂ©es (gamme 2.4.4 → 2.4.9-alpha2 et dĂ©rivĂ©s selon les builds). Pourtant, malgrĂ© le patch, Sansec rapporte plus de 250 tentatives d’attaque en 24 h, et ~62 % des boutiques restent non patchĂ©es — ce qui crĂ©e un terrain de chasse facile pour les attaquants automatisĂ©s. Centre d’Aide Adobe
⛔ Impact concret observé (retours terrains)
Les premières campagnes automatisées montrent : scans massifs, upload de webshells via endpoints vulnérables, exfiltration d’informations clients, et préparation d’accès persistants. Les boutiques non mises à jour sont les premières touchées — les déploiements cloud d’Adobe Commerce bénéficient d’une protection WAF centralisée, mais les installations self-hosted restent à risque.
🛡️ Recommandations immédiates (ceux qui lisent : FAITES ÇA MAINTENANT)
- Patch immĂ©diat : appliquez APSB25-88 et toutes les mises Ă jour cumulatives disponibles (hotfix du 9 sept. 2025). Si patcher immĂ©diatement est impossible, isolez l’application du rĂ©seau public.Â
- Vérification rapide : scanner les logs web (access/error), rechercher uploads suspects, fichiers PHP récemment modifiés, et requêtes vers endpoints REST non usuels.
- Hunt pour webshells : rechercher signatures de webshell, fichiers PHP inconnus, et connexions sortantes anormales.
- WAF / Règles bloquantes : déployer règles WAF temporaires qui bloquent patterns d’attaque connus (si vous utilisez ModSecurity, Cloud WAF, etc.). Attention : c’est palliatif, pas une solution définitive.
- Rotation des identifiants : forcer changement des mots de passe admin, clés API, tokens exposés ou suspects. Invalider sessions actives côté application.
- Surveillance : activer alertes SIEM sur création/modification de fichiers, commandes shell, privilèges escaladés et patterns d’accès inhabituels.
- Sauvegarde et forensic : conserver images/backup pour analyses forensiques avant toute modification lourde si compromise suspectée.
🧾 Checklist opérationnelle (pratique, imprimable)
- Â Appliquer APSB25-88 sur toutes les instances.
-  Scanner pour fichiers PHP ajoutés/modifiés — quarantaine.
- Â Rechercher et supprimer webshells, endpoints backdoor.
-  Révoquer tokens et forcer reset admin.
-  Mettre en place règles WAF bloquantes temporaires.
-  Auditer logs des dernières 6–8 semaines pour activité suspecte.
-  Préparer procédure de rétablissement (PRA) si compromise : rollback, rebuild, revalidation.
🧠Pour les managers / RSSI — posture & communication
- Communiquez immédiatement aux équipes dev/ops : patch now. Si la boutique est hébergée chez un prestataire, validez qu’ils ont patché et demandé preuve (changelog, tickets).
- Préparez un court message client si données clients ont pu être exposées (transparence et conformité RGPD si applicable).
- Mettez en place post-mortem : comment la chaîne de mise à jour a failli, pourquoi 62 % n’étaient pas patchés et comment combler ce gap (process, automation, inventory).
🧠Pour les décisionnaires — posture & retours d’expérience
Ton abonnement/licence ne remplace pas une hygiène opérationnelle : patch management, inventaire des modules, politique de gestion des extensions, automatisation des correctifs et tests pré-prod. SecuSlice l’a rappelé très justement : payer cher n’immunise pas contre une mauvaise validation d’entrée. Si tu dépends d’un prestataire, exige preuve de patch (ticket, changelog, scan post-patch).
🎯 Conclusion (brutale mais honnête)
SessionReaper (CVE-2025-54236) est une vulnérabilité critique, exploitée en nature et favorisée par des déploiements non patchés. Si tu gères une ou plusieurs installations Magento/Adobe Commerce : traiter ceci comme une alerte rouge — patch, scan, réponse. Les outils d’automatisation des attaques font le sale boulot pour l’attaquant ; la différence la plus simple entre être tranquille et être compromis, c’est d’avoir appliqué le patch et mis en place une détection minimale.
🧪 Un peu de technique — patterns observés (non-exploitants)
- Type de requêtes : requêtes HTTP POST/PUT vers API REST exposées (
/rest/V1/..., endpoints client/address/file, upload endpoints non authentifiés).
Indicateurs :Âmultipart/form-data avec fichiers PHP ou champs inattendus ; Content-Type incohĂ©rent (ex :Âapplication/x-php ouÂapplication/octet-stream alors qu’on attend une image). - Comportement suspect : upload suivi d’une requĂŞte GET/POST vers le mĂŞme path pour exĂ©cuter/valider le fichier (phpinfo probes, requests demandantÂ
?a=,Â?cmd= ou headers inhabituels). - User-agents & automatisation : user-agents gĂ©nĂ©riques ou scripts (ex :Â
curl/7.x,Âpython-requests/2.x, ou user-agents vides) ; rafales d’accès depuis mĂŞmes IPs ou via tor/proxy. - Fichiers créés : fichiersÂ
.php ouÂ.phtml placĂ©s dans rĂ©pertoires web (pub/, media/, var/, tmp/) avec timestamp rĂ©cent ; noms alĂ©atoires courts (ex :Âx1.php) ou noms techniques (info.php,Âtest.php) dans des dossiers upload. - Signes d’exfiltration : requĂŞtes sortantes non usuelles (connexions vers IPs Ă©trangères depuis le serveur PHP), cron jobs nouvellement créés, ou modifications deÂ
.htaccess pour masquer endpoints.
🛠️ Procédure pas-à -pas — détection & remédiation
1) Recherche rapide de fichiers PHP ajoutés / modifiés
(chercher fichiers php modifiés les 7 derniers jours)
# depuis la racine web (ex: /var/www/html) sudo find /var/www -type f -name "*.php" -mtime -7 -ls # ou l'équivalent en 30 jours sudo find /var/www -type f -name "*.php" -mtime -30 -ls
2) Scanner pour fichiers PHP contenant eval, base64_decode, system(, passthru (indicateurs de webshell)
# liste de fichiers contenant ces tokens sudo grep -RIlE "(eval\s*\(|base64_decode\s*\(|system\s*\(|passthru\s*\()" /var/www | xargs -r ls -l
Remarque : faux positifs possibles (frameworks, libs). Priorise fichiers récemment ajoutés.
3) Rechercher modifications de .htaccess et fichiers avec permissions modifiées
sudo find /var/www -type f -name ".htaccess" -exec stat --format '%y %n' {} \; | sort -r
sudo find /var/www -type f -perm /o+w -ls
4) Logs Apache/Nginx — patterns d’upload & probes
# chercher POST sur endpoints REST et requêtes multipart suspectes sudo zgrep -i "POST .*rest" /var/log/nginx/access.log* | tail -n 200 sudo zgrep -i "Content-Type: multipart/form-data" /var/log/nginx/*access.log* | tail -n 200 # requêtes depuis une IP spécifique sudo zgrep "185.118.16.146" /var/log/nginx/*access.log*
5) Détection YARA basique (webshells)
Installe yara si besoin (apt install yara), puis crée un fichier webshell_rules.yar :
rule Webshell_Simple {
meta:
author = "SecuSlice"
date = "2025-10"
description = "Signatures courtes indicatives de webshells PHP"
strings:
$s1 = /<\?php\s+eval\(/ nocase
$s2 = /base64_decode\s*\(/ nocase
$s3 = /preg_replace\s*\(\s*['"].*\/e['"]/ nocase
$s4 = /shell_exec\s*\(/ nocase
condition:
any of them
}
Puis lancer :
sudo yara -r webshell_rules.yar /var/www | tee yara_scan_results.txt
Interprète les résultats : fichiers détectés → quarantaine + examen.
6) Rechercher connexions sortantes suspectes (sur serveur)
# connexions TCP récentes
sudo ss -tunp | grep -E ":[0-9]{2,5}"
# ou logs de pare-feu
sudo journalctl -u ufw | tail -n 200
7) Vérification d’intégrité (si snapshot/backup disponible)
- Comparer arborescence actuelle avec dernière sauvegarde valide (rsync dry-run / checksum).
rsync -avn --delete /var/www/ /backup/last_good_www/ | head
🛡️ Exemples de règles ModSecurity (défensives)
À adapter à ton environnement WAF. Ce sont des règles bloquantes temporaires : test en blocage « log only » avant blocking full.
# Bloquer upload de fichiers PHP via multipart
SecRule REQUEST_HEADERS:Content-Type "multipart/form-data" "phase:2,chain,deny,log,msg:'Block PHP upload via multipart'"
SecRule FILES_NAMES|ARGS_NAMES|REQUEST_BASENAME "\.(php|phtml|inc)$" "t:none,deny,status:403,log"
# Bloquer Base64 dans payloads (gros indicateur)
SecRule ARGS|REQUEST_BODY "@rx base64_decode\(|eval\(|shell_exec\(|passthru\(" "phase:2,deny,log,msg:'Suspicious PHP function in request body'"
# Restreindre accès aux endpoints REST d'administration aux IPs internes
SecRule REQUEST_URI "@beginsWith /rest/V1/admin" "phase:1,allow,chain"
SecRule REMOTE_ADDR "!@ipMatch 10.0.0.0/8,192.168.0.0/16,172.16.0.0/12" "deny,log,msg:'Block external access to admin REST endpoints'"
✅ Remise en ordre post-découverte
- Isoler l’instance compromise, faire image disque pour forensic.
- Rebuild from known good base si compromission confirmée (ne pas tenter clean sur place si deep compromise).
- Appliquer APSB25-88, hardening (disable upload to webroot, content-type checks), automatiser patch management.
- Mettre en place monitoring continu (WAF alerts, SIEM rules, YARA scan régulier).
