Advisory
| Campo | Valore |
|---|
| CVE | CVE-2026-54477 |
| ICSA | ICSA-26-183-03 (Gardyn IoT Hub) |
| CVSS 3.1 | 5.4 (Medio) |
| Vector (3.1) | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N |
| Vector (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 (assegnata da CISA) | CWE-644 (Improper Neutralization of HTTP Headers for Scripting Syntax) |
| CWE (assegnata dal ricercatore) | CWE-693 (Protection Mechanism Failure), CWE-1021 (Improper Restriction of Rendered UI Layers) |
| Ricercatore | Michael Groberman |
| Pubblicato | 2026-07-02 |
| Riscontro coordinato | Gr0m-043 (pannello di amministrazione privo di tutti gli header di sicurezza) |
Prodotto
| Campo | Valore |
|---|
| Fornitore | Gardyn |
| Prodotto | Gardyn Home Kit, Gardyn Studio |
| Componente | Pannello di amministrazione (admin.gardyn.io, Netlify) |
| Versioni interessate |
Sommario
Il pannello di amministrazione viene servito senza header di sicurezza oltre a HSTS — nessun Content-Security-Policy, nessun X-Frame-Options, nessun X-Content-Type-Options, nessun Permissions-Policy. Ciò consente clickjacking e cross-site scripting contro sessioni di amministrazione autenticate.
Dettagli della vulnerabilità
| Header | Valore |
|---|
server | Netlify |
strict-transport-security | max-age=31536000 |
cache-control | no-cache |
Scenario di clickjacking
Senza X-Frame-Options / CSP frame-ancestors, un iframe invisibile sovrapposto a una sessione di amministrazione autenticata può attivare azioni privilegiate al clic, ad es. PiReboot, DeleteUser, SwitchBannedDevice.
Amplificazione XSS
In combinazione con i sink di injection lato client identificati in Gr0m-028 (22 istanze di dangerouslySetInnerHTML, 35 assegnazioni a innerHTML), l'assenza di CSP fa sì che qualsiasi payload riuscito venga eseguito senza restrizioni, consentendo l'esfiltrazione di dati e comportamenti di propagazione della sessione.
Mappatura dei riscontri coordinati
| Aspetto | Dettaglio |
|---|
| Gr0m-043 | Pannello di amministrazione servito con zero header di sicurezza oltre a HSTS; consente clickjacking + XSS |
| Riconciliazione CWE | Il ricercatore ha classificato CWE-693 / CWE-1021; CISA ha assegnato CWE-644. Entrambe descrivono la condizione di header mancanti |
| Nota | Questo riscontro è stato dichiarato dal fornitore a CERT/CC come risolto a marzo 2026; la pubblicazione come CVE CISA lo sancisce nel registro federale come riscontro valido e autonomo |
Rimedio
Secondo ICSA-26-183-03, Gardyn dichiara che l'infrastruttura IoT Hub distribuita è stata aggiornata per risolvere le vulnerabilità elencate. Set di controlli raccomandato (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=()"
Ricercatore: Michael Groberman (Gr0m) · Caso: CERT/CC VU#653116 · Advisory: ICSA-26-183-03