🛡 VULNERABILIDADES 🛡

Ejecución a distancia de código en el paquete gRPC de Elixir

🛡CyberObservatorio
Ejecución a distancia de código en el paquete gRPC de Elixir
Idioma

Ejecución a distancia de código en el paquete gRPC de Elixir

Fuente: INCIBE

La ciberseguridad es un campo en constante evolución que demanda atención continua por parte de desarrolladores, empresas y usuarios. Recientemente, Peter Ullrich, un investigador en seguridad, ha descubierto una vulnerabilidad crítica en la implementación del protocolo gRPC en Elixir, un lenguaje de programación funcional y concurrente que ha ganado popularidad en el desarrollo de aplicaciones escalables. Esta vulnerabilidad, identificada como CVE-2026-48853, plantea serias implicaciones no solo para los desarrolladores que utilizan Elixir, sino también para cualquier sistema que dependa de esta tecnología, dado que puede dar lugar a un colapso del nodo BEAM y, en el peor de los casos, a la ejecución remota de código malicioso en el servidor.

Desde un punto de vista técnico, la vulnerabilidad radica en la deserialización de datos no confiables y en la falta de límites en la asignación de recursos dentro de la biblioteca elixir-grpc. En términos concretos, el método 'Elixir.GRPC.Codec.Erlpack':decode/2, ubicado en la librería lib/grpc/codec/erlpack.ex, utiliza la función erlang.binary_to_term/1 para procesar mensajes gRPC sin aplicar la opción :safe, lo que permite la deserialización de datos sin restricciones. Esto significa que cualquier atacante no autenticado que envíe una solicitud con el encabezado Content-Type: application/grpc+erlpack puede enviar cargas útiles maliciosas. Estas cargas pueden crear nuevos átomos arbitrarios que se añaden a la tabla de átomos, la cual es limitada y no se recolecta como basura, provocando un agotamiento que puede bloquear la máquina virtual BEAM. Además, un atacante podría codificar un término que, si se aplica en el contexto apropiado, ejecuta código controlado por él dentro del proceso del servidor.

El impacto de esta vulnerabilidad es considerable. Los sistemas que funcionan con el lenguaje Elixir y que implementan gRPC se encuentran en un riesgo inminente, ya que un atacante puede, a través de esta debilidad, provocar caídas del servicio o incluso tomar el control del proceso del servidor. Esto afecta no solo a las aplicaciones individuales, sino también a la infraestructura que depende de ellas, lo que podría resultar en pérdidas económicas significativas y daños a la reputación de las empresas afectadas. Por lo tanto, es crítico que los desarrolladores y administradores de sistemas tomen medidas inmediatas para mitigar este riesgo.

Imagen del articulo

Históricamente, este tipo de vulnerabilidades no es nuevo. Las debilidades asociadas a la deserialización de datos han sido recurrentes en diversos lenguajes y plataformas, y a menudo resultan en incidentes de seguridad graves. Por ejemplo, en 2017, una vulnerabilidad similar en el framework de Java permitió a atacantes ejecutar código remoto en aplicaciones basadas en este lenguaje. Este patrón reiterado subraya la importancia de revisar y reforzar las prácticas de desarrollo seguro, especialmente cuando se trabaja con comunicaciones interprocesos y datos de entrada.

Ante esta situación, se recomienda encarecidamente a los usuarios y desarrolladores de Elixir que actualicen inmediatamente sus sistemas a la versión 1.0.0, la cual aborda esta vulnerabilidad de manera directa. Además, es crucial implementar prácticas de codificación seguras, como la validación rigurosa de los datos de entrada y la utilización de opciones de deserialización seguras que limiten el potencial de ataques. Considerar el uso de herramientas de análisis de seguridad y realizar auditorías de seguridad regulares también puede ayudar a identificar y remediar vulnerabilidades similares en el futuro.

En conclusión, la descubrimiento de esta vulnerabilidad en el protocolo gRPC de Elixir resalta la necesidad constante de vigilancia y actualización en el campo de la ciberseguridad. Los desarrolladores y las organizaciones deben permanecer alertas y proactivos en la protección de sus sistemas, no solo para salvaguardar su propia infraestructura, sino también para proteger la confianza que los usuarios depositan en sus aplicaciones.

Imagen del articulo

Remote code execution in the gRPC package of Elixir

Source: INCIBE

Peter Ullrich has discovered a vulnerability in the gRPC protocol implementation in Elixir that can lead to the collapse of the entire BEAM node by exhausting the atom table, and when a decoded term flows into a calling site that invokes it, it can achieve remote code execution on the server.

It is recommended to upgrade to version 1.0.0.

CVE-2026-48853: deserialization of untrusted data and unlimited resource allocation in elixir-grpc. gRPC allows unauthenticated attackers to block the BEAM node by exhausting the atom table, and when a decoded term flows into a calling site that invokes it, it can achieve remote code execution on the server. 'Elixir.GRPC.Codec.Erlpack':decode/2 (lib/grpc/codec/erlpack.ex) calls: erlang.binary_to_term/1 in the raw gRPC message body without the option: safe, without size limit, and without type protection. Any unauthenticated peer that sends a request with Content-Type: application/grpc+erlpack can send a crafted payload that creates new arbitrary atoms (which are never garbage collected, exhausting the limited atom table and blocking the VM) or encodes a funny term that, if applied anywhere later, executes attacker-controlled code within the server process.

Imagen del articulo
Ejecución a distancia de código en el paquete gRPC de Elixir | Ciberseguridad - NarcoObservatorio