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