Accueil / Cybersécurité / Securite informatique / Faille critique SessionReaper : Adobe Commerce sous haute menace

Faille critique SessionReaper : Adobe Commerce sous haute menace

Adobe alerte sur la faille SessionReaper (CVE-2025-54236) qui menace Adobe Commerce et Magento. Exploitable via l’API REST, elle expose directement les comptes clients à une prise de contrôle.

Aprés Apple et Microsoft, Adobe a publié un avis de sécurité concernant CVE-2025-54236, surnommée SessionReaper. La vulnérabilité, notée 9,1/10 au CVSS, touche Adobe Commerce, Magento Open Source et Adobe Commerce B2B. Exploitable via l’API REST, elle permet à un attaquant de s’emparer de comptes clients. Aucun cas d’exploitation n’a été détecté pour l’instant, mais l’éditeur insiste sur l’urgence d’appliquer le correctif VULN-32437-2-4-X. Les environnements cloud bénéficient de règles WAF temporaires, mais seul le patch garantit une protection durable. Découverte par le chercheur blaklis, la faille illustre la fragilité des plateformes e-commerce face aux attaques ciblant directement les données utilisateurs et leurs parcours transactionnels.

SessionReaper, une faille critique révélée

SessionReaper, identifiée sous CVE-2025-54236, résulte d’une validation insuffisante des entrées dans l’API REST d’Adobe Commerce. Selon Adobe, un acteur malveillant pourrait détourner cette faiblesse pour prendre la main sur des comptes clients. L’éditeur a publié son avertissement sous la référence APSB25-88 et attribue à la faille une sévérité de 9,1 sur 10 dans l’échelle CVSS.

Le risque principal réside dans la compromission directe des données clients, un scénario particulièrement dangereux pour des plateformes marchandes. La faille affecte les versions 2.4.9-alpha2 et antérieures d’Adobe Commerce et de Magento Open Source, ainsi que la branche 1.5.3-alpha2 et antérieures d’Adobe Commerce B2B. Le module Custom Attributes Serializable, utilisé entre les versions 0.1.0 et 0.4.0, est également concerné.

Pour Adobe, il s’agit d’une vulnérabilité critique, non exploitée pour l’heure, mais dont le potentiel destructeur impose une réaction rapide des administrateurs. L’entreprise prévient que son assistance sera limitée en cas de retard dans l’application des correctifs.

Le correctif et ses conditions de déploiement

Le correctif officiel est publié sous l’identifiant VULN-32437-2-4-X. Il doit être appliqué sans délai sur toutes les instances vulnérables. Les utilisateurs du module Custom Attributes Serializable doivent quant à eux migrer vers la version 0.4.0 ou supérieure, via la commande Composer appropriée.

Adobe propose un outil de vérification, le Quality Patches Tool, qui permet de confirmer l’application effective du patch. La commande de contrôle fournit un statut « Applied » une fois le correctif installé, apportant aux administrateurs la certitude de disposer d’une protection active.

Pour les clients hébergés dans l’environnement Commerce Cloud, Adobe a mis en place des règles de Web Application Firewall destinées à bloquer les tentatives d’exploitation connues. Ces mesures sont toutefois qualifiées de temporaires et ne dispensent pas du déploiement du correctif officiel. Les clients de services managés sont invités à contacter leur Customer Success Engineer afin d’obtenir un accompagnement spécifique.

Un signal fort pour l’écosystème e-commerce

La faille a été signalée par le chercheur indépendant blaklis, qui a révélé à Adobe le fonctionnement de SessionReaper. L’éditeur souligne qu’aucun cas d’exploitation active n’est documenté. Cependant, le scénario théorique reste préoccupant : un assaillant qui obtiendrait le contrôle de comptes clients pourrait accéder à des informations sensibles, détourner des transactions ou lancer des fraudes massives.

Ce type de vulnérabilité démontre la valeur stratégique des données clients pour les cyberattaquants. Les plateformes de commerce électronique constituent des cibles privilégiées en raison des volumes financiers et des informations personnelles qu’elles centralisent.

L’urgence de la mise à jour découle autant du niveau de criticité technique que de l’attrait économique de telles données sur le marché noir. La diffusion rapide du correctif vise à réduire la fenêtre de tir potentielle avant que des groupes malveillants ne développent un code d’exploitation opérationnel.

Étiquetté :

Nos partenaires




Actualités du mois

mars 2026
L M M J V S D
 1
2345678
9101112131415
16171819202122
23242526272829
3031  

Articles en UNE

Actus zataz



Réseaux sociaux


Liste des sujets


<!-- Cyber'Émission ZATAZ — badge volant (déplaçable) + réduire/fermer -->
<div class="zataz-yt-float" id="zatazYtFloat" role="region" aria-label="Cyber'Émission ZATAZ">
  <div class="zataz-yt-float__bar" id="zatazYtBar">
    <span class="zataz-yt-float__title">Cyber'Émission ZATAZ</span>

    <div class="zataz-yt-float__actions">
      <button type="button" class="zataz-yt-float__btn" id="zatazYtMin" aria-label="Réduire">—</button>
      <button type="button" class="zataz-yt-float__btn zataz-yt-float__btn--close" id="zatazYtClose" aria-label="Fermer">×</button>
    </div>
  </div>

  <a class="zataz-yt-badge" href="https://www.youtube.com/@ZATAZCOM" target="_blank" rel="noopener noreferrer"
     aria-label="Regarder Cyber'Émission ZATAZ sur YouTube (nouvel onglet)">
    <span class="zataz-yt-badge__thumb" aria-hidden="true">
      <span class="zataz-yt-badge__play" aria-hidden="true"></span>
    </span>
  </a>
</div>

<style>
  .zataz-yt-float{
    position:fixed;
    right:18px;
    bottom:18px;
    z-index:99999;
    width:320px;
    max-width:calc(100vw - 36px);
    border-radius:14px;
    overflow:hidden;
    background:linear-gradient(135deg,#111827,#0b1220 55%,#111827);
    border:1px solid rgba(255,255,255,.12);
    box-shadow:0 14px 40px rgba(0,0,0,.35);
    transform:translateZ(0);
    user-select:none;
    touch-action:none; /* drag mobile */
  }

  /* Barre de drag + boutons */
  .zataz-yt-float__bar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:10px 10px 10px 12px;
    font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
    color:#fff;
    background:rgba(0,0,0,.18);
    border-bottom:1px solid rgba(255,255,255,.10);
    cursor:grab;
  }
  .zataz-yt-float__bar:active{ cursor:grabbing; }
  .zataz-yt-float__title{
    font-weight:800;
    letter-spacing:.2px;
    font-size:15px;
    line-height:1;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .zataz-yt-float__actions{ display:flex; gap:8px; }
  .zataz-yt-float__btn{
    appearance:none;
    border:1px solid rgba(255,255,255,.18);
    background:rgba(0,0,0,.28);
    color:#fff;
    width:32px;
    height:28px;
    border-radius:10px;
    font-weight:900;
    line-height:1;
    cursor:pointer;
    display:grid;
    place-items:center;
  }
  .zataz-yt-float__btn:hover{ background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.28); }
  .zataz-yt-float__btn--close:hover{ background:rgba(239,68,68,.22); border-color:rgba(239,68,68,.45); }

  /* Contenu (votre vignette) */
  .zataz-yt-badge{
    display:block;
    text-decoration:none;
    color:#fff;
  }
  .zataz-yt-badge__thumb{
    display:block;
    height:180px;
    background:#0f172a url("https://i.ytimg.com/vi/HUo8dnD6Swk/hqdefault.jpg") center/cover no-repeat;
    position:relative;
  }
  .zataz-yt-badge__play{
    position:absolute;
    left:50%;
    top:50%;
    width:54px;
    height:54px;
    margin:-27px 0 0 -27px;
    border-radius:999px;
    background:rgba(0,0,0,.55);
    border:1px solid rgba(255,255,255,.25);
    box-shadow:0 10px 22px rgba(0,0,0,.35);
  }
  .zataz-yt-badge__play:before{
    content:"";
    position:absolute;
    left:22px;
    top:16px;
    width:0;height:0;
    border-top:11px solid transparent;
    border-bottom:11px solid transparent;
    border-left:16px solid #fff;
  }

  .zataz-yt-float:hover{
    box-shadow:0 18px 55px rgba(0,0,0,.45);
    border-color:rgba(255,255,255,.18);
  }
  .zataz-yt-badge:active{ transform:scale(.99); }

  /* Etat réduit */
  .zataz-yt-float.is-min .zataz-yt-badge{ display:none; }
  .zataz-yt-float.is-min{ width:260px; }

  /* Mobile : plus compact */
  @media (max-width:480px){
    .zataz-yt-float{ width:280px; right:12px; bottom:12px; }
    .zataz-yt-badge__thumb{ height:158px; }
    .zataz-yt-float.is-min{ width:220px; }
  }
</style>

<script>
(() => {
  const box = document.getElementById('zatazYtFloat');
  const bar = document.getElementById('zatazYtBar');
  const btnMin = document.getElementById('zatazYtMin');
  const btnClose = document.getElementById('zatazYtClose');

  if (!box || !bar || !btnMin || !btnClose) return;

  // Réduire / restaurer
  btnMin.addEventListener('click', (e) => {
    e.stopPropagation();
    box.classList.toggle('is-min');
    btnMin.textContent = box.classList.contains('is-min') ? '▢' : '—';
    btnMin.setAttribute('aria-label', box.classList.contains('is-min') ? 'Restaurer' : 'Réduire');
  });

  // Fermer
  btnClose.addEventListener('click', (e) => {
    e.stopPropagation();
    box.remove();
  });

  // Drag (souris + tactile) via Pointer Events
  let dragging = false;
  let startX = 0, startY = 0;
  let startLeft = 0, startTop = 0;

  // Position initiale: on convertit right/bottom en left/top pour le drag
  const init = () => {
    const r = box.getBoundingClientRect();
    box.style.left = r.left + 'px';
    box.style.top  = r.top  + 'px';
    box.style.right = 'auto';
    box.style.bottom = 'auto';
  };
  init();

  const clamp = (v, min, max) => Math.min(Math.max(v, min), max);

  bar.addEventListener('pointerdown', (e) => {
    // pas de drag quand on clique sur les boutons
    if (e.target === btnMin || e.target === btnClose) return;

    dragging = true;
    bar.setPointerCapture(e.pointerId);

    const r = box.getBoundingClientRect();
    startX = e.clientX;
    startY = e.clientY;
    startLeft = r.left;
    startTop = r.top;

    e.preventDefault();
  });

  bar.addEventListener('pointermove', (e) => {
    if (!dragging) return;

    const dx = e.clientX - startX;
    const dy = e.clientY - startY;

    const r = box.getBoundingClientRect();
    const w = r.width;
    const h = r.height;

    const maxLeft = window.innerWidth - w - 8;
    const maxTop  = window.innerHeight - h - 8;

    box.style.left = clamp(startLeft + dx, 8, maxLeft) + 'px';
    box.style.top  = clamp(startTop + dy, 8, maxTop) + 'px';
  });

  const endDrag = () => { dragging = false; };
  bar.addEventListener('pointerup', endDrag);
  bar.addEventListener('pointercancel', endDrag);

  // Re-clamp au resize
  window.addEventListener('resize', () => {
    const r = box.getBoundingClientRect();
    const maxLeft = window.innerWidth - r.width - 8;
    const maxTop  = window.innerHeight - r.height - 8;
    box.style.left = clamp(r.left, 8, maxLeft) + 'px';
    box.style.top  = clamp(r.top, 8, maxTop) + 'px';
  });
})();
</script>