CVE-2026-55737 in OTPinformação

Sumário

de VulDB • 27/07/2026

Vulnerabilidade de erro de conversão de assinado para não assinado e escrita fora dos limites no Erlang OTP erts permite que um atacante que possa fornecer uma binary formatada como termo externo do Erlang (ETF) binário para a função binary_to_term/1 corrompa o ponteiro da heap BEAM e faça com que a máquina virtual falhe.

Ao decodificar um termo LARGE_TUPLE_EXT, a fase de validação decoded_size() em erts/emulator/beam/external.c lê o campo arity de 32 bits como não assinado (get_uint32()), enquanto a fase de decodificação dec_term() lê o mesmo campo como um inteiro com sinal de 32 bits (get_int32()) para uma variável int. Um valor wire de arity de 0x80000000 passa na validação como 2147483648, mas é decodificado como -2147483648; portanto, a operação subsequente hp += n move o ponteiro de alocação da heap para trás. Nenhuma das fases impõe o limite de arity de tupla em tempo de execução MAX_ARITYVAL. O resultado é uma escrita na heap fora dos limites; na prática, a VM detecta um tamanho de heap impossível e aborta, negando serviço. O padding necessário é grande quando não comprimido, mas o envelope ETF compactado reduz isso para uma pequena carga útil no link.

Este problema afeta OTP desde OTP 25.0 até antes das versões 27.3.4.15, 28.5.0.4 e 29.0.4, correspondendo a erts desde 13.0 até antes das versões 15.2.7.11, 16.4.0.4 e 17.0.4.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Responsável

EEF

Reservar

17/06/2026

Divulgação

27/07/2026

Moderação

aceite

Entrada

VDB-383474

CPE

pronto

EPSS

0.00000

KEV

não

Atividades

baixo

Fontes

Want to stay up to date on a daily basis?

Enable the mail alert feature now!