PT-2026-93839 · Npm · Node-Opcua

CVE-2026-68904

·

Publicado

2026-09-16

·

Atualizado

2026-09-16

CVSS v3.1

7.0

Alta

VetorAV: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:
  1. A função ping server() no ClientSessionKeepAliveManager trata incorretamente um ServiceFault BadInvalidTimestamp como uma interrupção de rede, disparando uma reconexão completa do transporte a cada ciclo de keep-alive.
  2. A função on ACK response() no ClientTCP transport utiliza socket.end() em vez de socket.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

CVE-2026-68904
GHSA-R2PF-9CW4-5J65

Produtos afetados

Node-Opcua