Aviso
| Campo | Valor |
|---|
| CVE | CVE-2026-54477 |
| ICSA | ICSA-26-183-03 (Gardyn IoT Hub) |
| CVSS 3.1 | 5.4 (Médio) |
| 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 (atribuído pela CISA) | CWE-644 (Neutralização Imprópria de Cabeçalhos HTTP para Sintaxe de Script) |
| CWE (pesquisador) | CWE-693 (Falha no Mecanismo de Proteção), CWE-1021 (Restrição Imprópria de Camadas de UI Renderizadas) |
| Pesquisador | Michael Groberman |
| Publicado | 2026-07-02 |
| Descoberta coordenada | Gr0m-043 (painel administrativo sem todos os cabeçalhos de segurança) |
Produto
| Campo | Valor |
|---|
| Fornecedor | Gardyn |
| Produto | Gardyn Home Kit, Gardyn Studio |
| Componente | Painel administrativo (admin.gardyn.io, Netlify) |
| Versões Afetadas |
Resumo
O painel administrativo é servido sem cabeçalhos de segurança além do HSTS — sem Content-Security-Policy, sem X-Frame-Options, sem X-Content-Type-Options, sem Permissions-Policy. Isso possibilita clickjacking e cross-site scripting contra sessões administrativas autenticadas.
Detalhes da Vulnerabilidade
Cabeçalhos presentes
| Cabeçalho | Valor |
|---|
server | Netlify |
strict-transport-security | max-age=31536000 |
cache-control | no-cache |
Cabeçalhos ausentes
Cenário de clickjacking
Sem X-Frame-Options / CSP frame-ancestors, um iframe de sobreposição invisível sobre uma sessão administrativa autenticada pode acionar ações privilegiadas ao clique, por exemplo, PiReboot, DeleteUser, SwitchBannedDevice.
Amplificação de XSS
Combinado com os sumidouros de injeção no lado do cliente identificados em Gr0m-028 (22 instâncias de dangerouslySetInnerHTML, 35 atribuições de innerHTML), a ausência de CSP significa que qualquer payload bem-sucedido executa sem restrição, possibilitando exfiltração de dados e comportamento de propagação de sessão.
Mapeamento para descobertas coordenadas
| Aspecto | Detalhe |
|---|
| Gr0m-043 | Painel administrativo servido com zero cabeçalhos de segurança além do HSTS; possibilita clickjacking + XSS |
| Reconciliação CWE | Pesquisador classificou CWE-693 / CWE-1021; CISA atribuiu CWE-644. Ambos descrevem a condição de cabeçalho ausente |
| Nota | Esta descoberta foi afirmada pelo fornecedor ao CERT/CC como corrigida em março de 2026; a publicação como um CVE da CISA a estabelece no registro federal como uma descoberta válida e independente |
Conforme ICSA-26-183-03, a Gardyn afirma que a infraestrutura implantada do IoT Hub foi atualizada para tratar as vulnerabilidades listadas. Conjunto de controles recomendado (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=()"
Pesquisador: Michael Groberman (Gr0m) · Caso: CERT/CC VU#653116 · Advertência: ICSA-26-183-03