← back
CVE-2018-7841criticalunder attackCWE-89

CVE-2018-7841

100Vexday Risk Score

Patch now. It under exploitation confirmed by CISA and has a working public exploit.

ssvc Actcvss 9.8epss 73%
from disclosure to weapon0 days
Published on NVDMay 22
1st PoCMay 14
CISA KEV+1059d
exploitation probability
73%top 1% of all CVEs
observed exploitation
yesCISA + VulnCheck
2 public exploit(s)
Action required by CISAfederal deadline: 2022-05-06

The impacted product is end-of-life and should be disconnected if still in use.

Summary

Falha crítica de injeção não autenticada no U.motion Builder da Schneider Electric, produto de automação residencial/predial. O NVD e o catálogo KEV da CISA classificam como SQL Injection (CWE-89), mas o pesquisador que descobriu e divulgou a falha (RCE Security) documenta e demonstra Command Injection (CWE-78) via shell do sistema operacional — não SQL. O produto está descontinuado (end-of-life) desde antes da divulgação pública; não existe patch e o fornecedor recomenda apenas remover o software.

Technical detail

O script track_import_export.php, dentro do módulo de relatórios (modules/reporting/), recebe o parâmetro object_id via GET/POST e o utiliza sem sanitização em uma chamada exec() do PHP, que por sua vez invoca um comando de shell no sistema operacional subjacente. O pesquisador demonstrou isso injetando um comando entre crases (`sleep 10`) dentro do valor de object_id, gerando um delay de 10 segundos na resposta — técnica clássica de confirmação de command injection por timing, sem depender de saída visível.

A classificação oficial como SQL Injection (CWE-89), usada tanto pela NVD quanto pela CISA no KEV, contradiz a análise técnica publicada no Full Disclosure e no advisory original do pesquisador, que descreve e demonstra explicitamente OS Command Injection (CWE-78). Essa divergência é relevante: um analista buscando por padrões de SQLi em WAF ou IDS vai monitorar a assinatura errada. O mecanismo real é injeção de comandos de shell, não manipulação de consultas SQL.

A falha é descrita como bypass de uma correção anterior (CVE-2018-7765) aplicada ao mesmo ponto de entrada — ou seja, o fornecedor já havia tentado sanitizar esse parâmetro antes, e a correção foi insuficiente ou incompleta, permitindo reintrodução do mesmo tipo de vetor de ataque.

How it’s exploited

O vetor é uma requisição HTTP POST para /smartdomuspad/modules/reporting/track_import_export.php, com o parâmetro object_id manipulado dentro do corpo application/x-www-form-urlencoded (junto com op, language e interval). O PoC publicado inclui um cookie PHPSESSID, o que sugere que a requisição precisa de uma sessão de aplicação válida — mas não necessariamente de credenciais de usuário autenticado; o advisory do pesquisador classifica a falha como 'unauthenticated', indicando que a sessão pode ser trivialmente obtida sem login real. O único pré-requisito de fato é acesso de rede à interface web do U.motion Builder.

A exploração não exige interação do usuário, condições de configuração especiais nem privilégios elevados — reflete o vetor CVSS AV:N/AC:L/PR:N/UI:N. Um atacante com acesso à porta/serviço web do produto injeta comandos arbitrários de shell através do object_id, obtendo execução de código no contexto do processo web, o que na prática costuma significar controle total do host (dependendo dos privilégios do processo PHP/servidor web).

A presença no catálogo KEV da CISA confirma exploração ativa observada. Não há detalhes públicos sobre campanhas específicas, mas a existência de PoC público, template Nuclei e EPSS elevado (0.72) indicam alvo atrativo para scanners automatizados e exploração oportunista contra qualquer instância exposta à internet ou a redes OT/prediais acessíveis.

Versions

Affected
U.motion Builder 1.3.4 e versões anteriores.
Fixed in
Nenhuma. O fornecedor não publicará correção; o produto foi descontinuado (end-of-life) logo após a notificação da vulnerabilidade.

How to protect

Não existe correção. O fornecedor confirmou que o produto foi retirado de linha e removido do portal de downloads pouco depois da notificação da falha; a resposta oficial da Schneider Electric (via SEVD-2019-071-02) e a recomendação da CISA no KEV são a mesma: desinstalar/remover a instalação. Atualizar versão não é opção — não há versão corrigida.

Como controle compensatório, se a remoção imediata não for viável, isolar completamente o host de qualquer rede acessível (segmentação de rede, sem exposição à internet, sem acesso direto de redes de usuário), e desativar ou bloquear no nível de firewall/proxy o acesso ao endpoint /smartdomuspad/modules/reporting/track_import_export.php. Isso reduz superfície mas não elimina o risco caso um atacante já tenha pé na rede interna.

Não contar com WAFs configurados para bloquear padrões de SQL Injection como mitigação — a falha real é command injection via shell, e assinaturas de SQLi não vão capturar o vetor (crases, pipes, $() etc). Regras de WAF devem ser voltadas a metacaracteres de shell no parâmetro object_id, mas isso é paliativo frágil frente a um produto sem suporte e sem análise de código disponível.

How to detect

Nos logs do servidor web, procurar requisições POST para o caminho /smartdomuspad/modules/reporting/track_import_export.php contendo, no parâmetro object_id, metacaracteres de shell — crases (`), pipes (|), ponto-e-vírgula (;), $() ou palavras-chave de comando como sleep, cat, wget, curl. Requisições com tempos de resposta anormalmente longos (padrão de sleep N para confirmação blind) também são indício de tentativa de exploração.

Como o produto é EOL e sem instrumentação de segurança nativa, não há sinal telemetria do próprio fornecedor; a detecção depende inteiramente de logging externo (proxy, firewall de aplicação, captura de tráfego) posicionado na frente do serviço.

Researched and written with AI from the vendor advisory and public analysis, with the sources above. Always confirm the fixed version in the official advisory before acting.
A SQL Injection (CWE-89) vulnerability exists in U.motion Builder software version 1.3.4 which could cause unwanted code execution when an improper set of characters is entered.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
⚠ Public resources, to assess the exposure of systems you control or are authorized to test. Test only with authorization.