CVE-2026-104635 in protobuf
Resumen
por VulDB • 2026-10-09
Vulnerabilidad de recursión no controlada en Protobuf.JSON.Decode de elixir-protobuf que permite a un atacante remoto sin autenticación provocar la caída del proceso de decodificación mediante un documento JSON profundamente anidado. Cualquier aplicación que decifique JSON proporcionado por atacantes con Protobuf.JSON.decode/3, Protobuf.JSON.decode!/3 o Protobuf.JSON.from_decoded/3 en un esquema que contenga un tipo de mensaje autorreferencial o cíclico se ve afectada.
En lib/protobuf/json/decode.ex, la cláusula embedded-message de decode_singular/3 recurre a internal_from_json_data/3 una vez por nivel de anidamiento sin incrementar ni verificar el contador de profundidad del decodificador. La guardia depth guard increase_depth_and_maybe_throw/1 cubre únicamente las cláusulas Google.Protobuf.ListValue y Google.Protobuf.Struct, por lo que la opción recursion_limit no tiene efecto en los tipos de mensaje definidos por el usuario. Cada nivel de anidamiento asigna un marco de pila (stack frame) y objetos heap, y un documento suficientemente profundo agota la memoria del proceso de decodificación. La confidencialidad e integridad no se ven afectadas.
Este problema afecta a protobuf: desde la versión 0.8.0 hacia adelante.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.