
CVE-2025-1242: String de conexão iothubowner embutida no código — Gardyn Home Kit (ICSA-26-055-03)
| Campo | Valor |
|---|---|
| CVE | CVE-2025-1242 |
| ICSA | ICSA-26-055-03 |
| CVSS 3.1 | 9.1 (Crítico) |
| Vetor | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N |
| CWE | CWE-798 (Uso de Credenciais Codificadas) |
| Pesquisador | Michael Groberman — Gr0m |
| Publicado | 2026-02-24 |
| Campo | Valor |
|---|---|
| Fornecedor | Gardyn |
| Produto | Gardyn Home Kit 1.0, 2.0, 3.0, 4.0; Gardyn Studio 1.0, 2.0 |
| Componente | API na nuvem, aplicativo móvel, firmware do dispositivo |
| Versões Afetadas | Firmware < master.622, Aplicativo móvel < 2.11.0, API na nuvem < 2.12.2026 |
A credencial administrativa do Azure IoT Hub (política de acesso compartilhado iothubowner) é extraível por meio de múltiplos vetores, incluindo respostas de API não autenticadas, engenharia reversa do aplicativo móvel e análise do firmware do dispositivo. Essa credencial concede controle administrativo sobre o IoT Hub da Gardyn, que gerencia arquitetonicamente todos os dispositivos registrados.
A política de acesso compartilhado iothubowner é a credencial de maior privilégio no Azure IoT Hub. Ela concede:
A documentação da Microsoft afirma: "A política iothubowner possui todas as permissões e deve ser usada com extrema cautela. Ela é destinada somente à administração de serviços de backend e NUNCA deve ser distribuída a clientes."
Uma única string de conexão iothubowner fornece acesso administrativo ao IoT Hub da Gardyn.
A credencial foi exposta por meio de múltiplos canais independentes:
1. Endpoint de API não autenticado
Um endpoint de provisionamento de dispositivos não autenticado retornava a credencial administrativa a qualquer solicitante. Nenhuma autenticação era necessária. O endpoint era acessível a qualquer pessoa na internet.
Detalhes da solicitação removidos — Caminhos específicos de endpoints, nomes de campos e estruturas de solicitação foram removidos desta divulgação pública para reduzir o auxílio a atacantes.
O campo da credencial administrativa foi posteriormente removido da resposta deste endpoint (correção parcial), mas o endpoint ainda retorna credenciais de nível de dispositivo sem autenticação.
2. Endpoint de enumeração de usuários não autenticado
Um endpoint de listagem de usuários não autenticado retornava registros completos de todos os 134.215 usuários registrados. Cada registro incluía a credencial administrativa — 134.215 cópias em uma única resposta de API.
Detalhes da solicitação removidos — Caminhos específicos de endpoints e nomes de campos foram removidos desta divulgação pública para reduzir o auxílio a atacantes.
Este endpoint também expôs PII (informações pessoais identificáveis) sensíveis de todos os usuários, incluindo nomes completos, endereços de e-mail, números de telefone, números parciais de cartões de pagamento, IDs de usuário sequenciais (permitindo IDOR), IDs de dispositivos e credenciais de conexão.
Conforme o ICSA-26-055-03 da CISA, esse vetor de exposição foi corrigido nas versões de correção publicadas.
3. Aplicativo móvel
A credencial está embutida no bundle do aplicativo React Native (bytecode Hermes em index.android.bundle). Ela também é distribuída via Firebase Remote Config, que registra credenciais no logcat do Android em builds de depuração.
4. Firmware do dispositivo
A string de conexão está presente nos arquivos de firmware do dispositivo em /usr/local/etc/gardyn/ e é registrada no syslog em texto claro durante a inicialização.
A credencial está exposta desde pelo menos maio de 2019 (mais de 6 anos, com base na disponibilidade do endpoint de API). O fornecedor migrou de um IoT Hub anterior ([REDACTED — IoT Hub name]) para o hub atual ([REDACTED — IoT Hub name]), mas reutilizou a mesma chave de acesso compartilhado, o que significa que qualquer pessoa que capturou a credencial durante a janela de exposição original mantém o acesso.
O fornecedor confirmou que não existia registro de acesso nos endpoints afetados, o que significa que o escopo do acesso não autorizado durante a janela de exposição de mais de 6 anos não pode ser determinado.
O fornecedor declarou à CISA que não existia registro de acesso nos endpoints afetados durante a janela de exposição. A página pública de segurança do fornecedor está em https://mygardyn.com/security/.
Um atacante com a credencial iothubowner pode:
upgrade(), vulnerável a injeção de comandos (CVE-2025-29631)Combinada com CVE-2025-29631, essa credencial permite execução remota de código como root em dispositivos que usam as credenciais compartilhadas (verificado no próprio dispositivo do pesquisador).
Essa credencial, combinada com o hostname do IoT Hub, permitia acesso administrativo direto ao IoT Hub que gerencia a frota de dispositivos Gardyn afetada. As capacidades de uma credencial iothubowner são documentadas pela Microsoft (veja Impacto acima e a documentação do Azure vinculada em Referências). A CISA classificou este CVE em CVSS 9.1 (Crítico).
Os outros CVEs no ICSA-26-055-03 são documentados como descobertas independentes; a exposição desta credencial é uma questão distinta dessas vulnerabilidades, embora um único atacante que detenha múltiplas descobertas possa combiná-las em alguns cenários.
A própria documentação da Microsoft afirma explicitamente: "A política iothubowner possui todas as permissões e deve ser usada com extrema cautela. Ela é destinada somente à administração de serviços de backend e NUNCA deve ser distribuída a clientes."
Mitigações recomendadas para proprietários de dispositivos:
Correção recomendada para o fornecedor:
iothubownerReportado por Michael Groberman — Gr0m à CISA.
| Permissão | Descrição | Nível de Risco |
|---|
| RegistryRead | Ler o registro de dispositivos (enumerar todos os dispositivos) | ALTO |
| RegistryWrite | Modificar o registro de dispositivos (adicionar/excluir dispositivos) | CRÍTICO |
| ServiceConnect | Enviar mensagens da nuvem para o dispositivo | CRÍTICO |
| DeviceConnect | Enviar mensagens do dispositivo para a nuvem (personificar qualquer dispositivo) | CRÍTICO |
| ServiceInvoke | Invocar métodos diretos em qualquer dispositivo | CRÍTICO |
| Serviço | Finalidade |
|---|
| Azure IoT Hub Device Provisioning Service (DPS) | Provisionamento automatizado de credenciais por dispositivo com certificados X.509 |
| Políticas de Acesso Compartilhado com Escopo | Políticas de acesso com privilégio mínimo (ex.: device, service, registryRead) |
| Azure Monitor / Diagnóstico do IoT Hub | Registro de acesso e detecção de anomalias para operações do IoT Hub |
| Data | Evento |
|---|
| 2025-10-14 | Divulgação inicial ao fornecedor |
| 2025-12-11 | Divulgação ao CERT/CC |
| 2026-01-22 | Credencial administrativa iothubowner do Azure IoT Hub rotacionada (observável: a chave anteriormente distribuída parou de funcionar) |
| 2026-02-24 | ICSA-26-055-03 publicado (inicial) |
| 2026-04-02 | ICSA-26-055-03 Atualização A |