CVE-2026-54477 : Panneau d'administration sans en-têtes de sécurité (clickjacking / XSS)
Avis
| Champ | Valeur |
|---|
| CVE | CVE-2026-54477 |
| ICSA | ICSA-26-183-03 (Gardyn IoT Hub) |
| CVSS 3.1 | 5.4 (Moyen) |
| Vecteur (3.1) | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N |
| Vecteur (4.0) | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N |
| CWE (attribuée par la CISA) | CWE-644 (Neutralisation incorrecte des en-têtes HTTP pour la syntaxe de script) |
| CWE (chercheur) | CWE-693 (Échec du mécanisme de protection), CWE-1021 (Restriction incorrecte des couches d'interface utilisateur rendues) |
| Chercheur | Michael Groberman |
| Publié | 2026-07-02 |
| Découverte coordonnée | Gr0m-043 (panneau d'administration sans aucun en-tête de sécurité) |
Produit
| Champ | Valeur |
|---|
| Fournisseur | Gardyn |
| Produit | Gardyn Home Kit, Gardyn Studio |
| Composant | Panneau d'administration (admin.gardyn.io, Netlify) |
| Versions concernées |
Résumé
Le panneau d'administration est servi sans aucun en-tête de sécurité hormis HSTS — pas de Content-Security-Policy, pas de X-Frame-Options, pas de X-Content-Type-Options, pas de Permissions-Policy. Cela permet le clickjacking et le cross-site scripting contre les sessions administrateur authentifiées.
Détails de la vulnérabilité
En-têtes présents
| En-tête | Valeur |
|---|
server | Netlify |
strict-transport-security | max-age=31536000 |
cache-control | no-cache |
En-têtes manquants
Scénario de clickjacking
Sans X-Frame-Options ni CSP frame-ancestors, un iframe de superposition invisible sur une session administrateur authentifiée peut déclencher des actions privilégiées au clic, par ex. PiReboot, DeleteUser, SwitchBannedDevice.
Amplification XSS
Combinée aux points d'injection côté client identifiés dans Gr0m-028 (22 instances dangerouslySetInnerHTML, 35 affectations innerHTML), l'absence de CSP signifie que toute charge utile réussie s'exécute sans restriction, permettant l'exfiltration de données et un comportement de propagation via les sessions.
Correspondance avec les découvertes coordonnées
| Aspect | Détail |
|---|
| Gr0m-043 | Panneau d'administration servi avec zéro en-tête de sécurité hormis HSTS ; permet le clickjacking + XSS |
| Réconciliation CWE | Le chercheur a classé CWE-693 / CWE-1021 ; la CISA a attribué CWE-644. Les deux décrivent la condition d'en-tête manquant |
| Note | Cette découverte a été déclarée par le fournisseur au CERT/CC comme corrigée en mars 2026 ; sa publication en tant que CVE de la CISA l'établit sur le registre fédéral comme une découverte valide et autonome |
Correctif
Selon l'ICSA-26-183-03, Gardyn déclare que l'infrastructure déployée du IoT Hub a été mise à jour pour traiter les vulnérabilités listées. Ensemble de contrôles recommandé (Netlify _headers / netlify.toml) :
[[headers]]
for = "/*"
[headers.values]
Content-Security-Policy = "default-src 'self'; script-src 'self'; frame-ancestors 'none';"
X-Frame-Options = "DENY"
X-Content-Type-Options = "nosniff"
Referrer-Policy = "strict-origin-when-cross-origin"
Permissions-Policy = "camera=(), microphone=(), geolocation=()"
Chercheur : Michael Groberman (Gr0m) · Dossier : CERT/CC VU#653116 · Avis : ICSA-26-183-03