← volver
CVE-2021-26829mediumbajo ataqueCWE-79

CVE-2021-26829

55Vexday Risk Score

Prioriza la corrección. Ella está bajo explotación confirmada por CISA.

ssvc Attendcvss 5.4epss 48%
de la publicación al arma
Publicada en NVD11 jun
CISA KEV+1631d
probabilidad de explotación
48%top 1% de las CVE
explotación observada
CISA + VulnCheck
Acción exigida por CISAplazo federal: 2025-12-19

Apply mitigations per vendor instructions, follow applicable BOD 22-01 guidance for cloud services, or discontinue use of the product if mitigations are unavailable.

Resumen

Falha de Cross-Site Scripting armazenado no ScadaBR, um SCADA/HMI open source brasileiro, na página de configurações do sistema (system_settings.shtm). Um usuário autenticado com acesso a essa tela pode injetar script persistente que executa no navegador de qualquer pessoa que abra a página afetada — incluindo a tela de login. Ganhou relevância prática em 2025 quando a CISA a incluiu no catálogo KEV após confirmar exploração real por um grupo hacktivista contra um honeypot de estação de tratamento de água.

Detalle técnico

A vulnerabilidade é um XSS armazenado (CWE-79) no formulário de configurações do sistema, servido pela página system_settings.shtm. O ScadaBR não sanitiza/escapa corretamente um ou mais campos desse formulário (o caso documentado é a descrição exibida na tela de login) antes de persistir o valor e renderizá-lo de volta em HTML para qualquer usuário que visite a página correspondente. Como o valor é armazenado no backend e reproduzido em toda visualização subsequente, o payload sobrevive entre sessões e afeta qualquer visitante — não apenas quem o inseriu.

O vetor CVSS 3.1 divulgado pelo NVD (AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N, score 5.4) indica pré-requisitos concretos: o atacante precisa de privilégio baixo (PR:L) — ou seja, alguma conta válida no sistema, mesmo que limitada — e depende de interação da vítima (UI:R), que precisa abrir a página onde o payload foi injetado. O relatório original enviado ao fórum do ScadaBR classificou a falha como Medium com score 6.5, divergindo levemente do score final atribuído pelo NVD; a diferença não muda a natureza do problema, só o peso relativo dado a cada métrica.

O ScadaBR é descrito no advisory oficial (CVE) como afetado 'through 0.9.1' no Linux e 'through 1.12.4' no Windows, o que sugere numeração de versão diferente por plataforma — não há indicação de que exista uma versão unificada corrigida além do fork sucessor do projeto.

Cómo se explota

Na prática documentada pela Forescout (honeypot de uma estação de tratamento de água simulada), o atacante primeiro obteve acesso à HMI usando credenciais padrão (admin/admin) — ou seja, o pré-requisito real de autenticação foi satisfeito por má configuração de credenciais, não por bypass de autenticação. Com essa conta, o atacante acessou a página de configurações do sistema e alterou a descrição exibida na tela de login para um payload que disparava um alert() sempre que a página de login era visitada, efetivamente uma defacement visível a qualquer operador ou usuário que acessasse o painel depois.

A exploração não depende de complexidade técnica alta: não houve escalonamento de privilégios nem exploração do host subjacente, apenas manipulação da camada de aplicação web. O mesmo incidente documentado envolveu ações adicionais não relacionadas a esta CVE (enumeração de banco via SQL, exclusão de PLCs como fontes de dados, alteração de setpoints, desativação de logs), mostrando que a CVE-2021-26829 foi usada como uma ferramenta dentro de um ataque mais amplo contra um sistema OT/ICS mal segmentado e exposto à internet, não como vetor de acesso inicial.

A CISA confirmou exploração ativa ao adicionar a falha ao catálogo KEV em novembro de 2025, atribuída a um grupo hacktivista alinhado à Rússia (TwoNet). Não há indício de exploração massiva automatizada; o padrão observado é de ataque direcionado contra interfaces HMI expostas com credenciais fracas ou padrão.

Versiones

Afectadas
ScadaBR through 0.9.1 no Linux; ScadaBR through 1.12.4 no Windows (conforme descrição oficial do CVE).
Corregidas en
Não há versão numerada oficialmente confirmada como corrigida para o ScadaBR original. O fork sucessor Scada-LTS endereçou o problema via pull request (SCADA-LTS/Scada-LTS #3211), mas não foi confirmado se/quando essa correção foi incorporada a uma release estável numerada.

Cómo protegerse

O fornecedor original do ScadaBR foi descontinuado pelos desenvolvedores brasileiros; o desenvolvimento continuou no fork Scada-LTS. O único indício concreto de correção encontrado é um pull request no repositório do Scada-LTS (SCADA-LTS/Scada-LTS PR #3211) endereçando o problema — não há confirmação de versão numerada específica do ScadaBR original com o patch aplicado, apesar do mantenedor do fórum ter afirmado, em junho de 2021, estar trabalhando em uma correção.

Como paliativo real, elimine credenciais padrão/fracas em qualquer instalação do ScadaBR ou de HMIs derivadas — o incidente documentado começou com login admin/admin, que por si só já anula a barreira de PR:L do CVSS. Restrinja acesso à página system_settings.shtm a contas administrativas estritamente necessárias, remova exposição direta à internet do painel (a recomendação de segmentação de rede para ambientes OT/ICS é o controle compensatório mais efetivo aqui, já que a aplicação em si segue sem correção confirmada) e considere um WAF ou proxy reverso capaz de sanitizar/bloquear payloads de script nos campos de configuração como camada adicional.

Não funciona como mitigação: assumir que a exigência de PR:L no vetor CVSS torna o risco baixo — na prática, credenciais padrão ou fracas (muito comuns em ambientes OT legados) eliminam essa barreira por completo, como o incidente real demonstrou.

Cómo detectar

Procure alterações inesperadas em campos de configuração do sistema (especialmente a descrição/texto exibido na tela de login) contendo tags de script, atributos de evento HTML (onload, onerror) ou strings como ''. Em logs de acesso web, requisições POST para system_settings.shtm oriundas de contas que não deveriam ter privilégio de alterar essas configurações, ou originadas de IPs/user-agents fora do padrão operacional, são indício de tentativa de exploração — mas não há assinatura de rede confiável e amplamente publicada para essa falha específica, já que o payload varia por atacante e a maioria dos ataques observados começou com login legítimo (ainda que via credencial padrão), o que dificulta distinguir tráfego malicioso de administração normal sem contexto de linha de base.

Investigado y redactado con IA a partir del advisory del fabricante y análisis públicos, con las fuentes citadas. Verifica siempre la versión corregida en el advisory oficial antes de actuar.
OpenPLC ScadaBR through 0.9.1 on Linux and through 1.12.4 on Windows allows stored XSS via system_settings.shtm.
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
Productos afectados
n/a · n/a