PT-2026-93839 · Npm · Node-Opcua
CVE-2026-68904
·
Publicado
2026-09-16
·
Atualizado
2026-09-16
CVSS v3.1
7.0
Alta
| Vetor | AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:H |
Nome do Software Vulnerável e Versões Afetadas
node-opcua versões 2.0.0 a 2.169.0
Description
Uma combinação de falhas na implementação do cliente leva ao acúmulo ilimitado de sockets TCP no estado FIN-WAIT-2 durante a reconexão automática, resultando em exaustão de memória e falhas no processo. Isso ocorre quando a configuração
keepSessionAlive está ativada e o servidor OPC UA apresenta um desvio de relógio (clock skew) em relação ao cliente, fazendo com que o servidor retorne respostas BadInvalidTimestamp.O problema envolve duas falhas técnicas principais:
- A função
ping server()noClientSessionKeepAliveManagertrata incorretamente um ServiceFaultBadInvalidTimestampcomo uma interrupção de rede, disparando uma reconexão completa do transporte a cada ciclo de keep-alive. - A função
on ACK response()noClientTCP transportutilizasocket.end()em vez desocket.destroy()após uma negociação HEL/ACK malsucedida. Isso envia um TCP FIN, mas deixa o socket no estado FIN-WAIT-2 se o peer não fechar a conexão, causando vazamento de descritores de arquivo e memória.
Recommendations
Atualize o node-opcua para a versão 2.170.0.
Como medida de mitigação temporária, desative a configuração
keepSessionAlive para evitar o ciclo repetitivo de reconexão.Exploit
Correção
Resource Exhaustion
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Node-Opcua