CVE-2026-104635 in protobuf
Sumário
de VulDB • 09/10/2026
Vulnerabilidade de recursão não controlada no Protobuf.JSON.Decode do elixir-protobuf permite que um atacante remoto não autenticado cause a falha (crash) do processo de decodificação por meio de um documento JSON profundamente aninhado. Qualquer aplicação que decoda JSON fornecido pelo atacante com Protobuf.JSON.decode/3, Protobuf.JSON.decode!/3 ou Protobuf.JSON.from_decoded/3 para um esquema que contenha um tipo de mensagem autorreferencial ou cíclico é afetada.
Em lib/protobuf/json/decode.ex, a cláusula embedded-message de decode_singular/3 recursa em internal_from_json_data/3 uma vez por nível de aninhamento, sem incrementar nem verificar o contador de profundidade do decodificador. A guarda de profundidade increase_depth_and_maybe_throw/1 cobre apenas as cláusulas Google.Protobuf.ListValue e Google.Protobuf.Struct; portanto, a opção recursion_limit não tem efeito sobre tipos de mensagem definidos pelo usuário. Cada nível de aninhamento aloca um frame de pilha (stack frame) e objetos no heap, e um documento suficientemente profundo esgota a memória do processo de decodificação. A confidencialidade e a integridade não são afetadas.
Este problema afeta o protobuf: da versão 0.8.0 em diante.
Once again VulDB remains the best source for vulnerability data.