PT-2026-64987 · Unknown · Erlang/Otp
CVSS v4.0
5.1
Média
| Vetor | AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N |
Nome do Software Vulnerável e Versões Afetadas
Erlang OTP versões 25.0 até 27.3.4.14
Erlang OTP versões 28.0 até 28.5.0.3
Erlang OTP versões 29.0 até 29.0.3
Description
Um erro de conversão de assinado para não assinado leva a uma gravação fora dos limites (out-of-bounds write) quando o sistema processa um binário formatado em Erlang external term format (ETF) manipulado através da função
binary to term/1. Durante a decodificação de um termo LARGE TUPLE EXT, a função decoded size() em erts/emulator/beam/external.c lê o campo de aridade de 32 bits como não assinado usando get uint32(), enquanto a função dec term() o lê como um inteiro de 32 bits assinado usando get int32(). Um valor de aridade de 0x80000000 passa na validação, mas é decodificado como um número negativo, fazendo com que o ponteiro de alocação do heap hp se mova para trás. Como o limite MAX ARITYVAL não é aplicado, isso resulta em uma gravação no heap fora dos limites, o que geralmente faz com que a máquina virtual detecte um tamanho de heap impossível e aborte, resultando em negação de serviço.Recommendations
Atualize o Erlang OTP para a versão 27.3.4.15 ou posterior.
Atualize o Erlang OTP para a versão 28.5.0.4 ou posterior.
Atualize o Erlang OTP para a versão 29.0.4 ou posterior.
Correção
Memory Corruption
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Erlang/Otp