` GRPC.Codec.Erlpack. decode/ 2 ` chama `:erlang.binary_ to_ term/ 1 ` diretamente no corpo da mensagem grego do gRPC sem a opção `:safe`. Qualquer par não autenticado que possa alcançar um objetivo do gRPC com o `Content- Type: application/grpc+erlpack` pode bloquear todo o nó BEAM através da exaustão da tabela átoma ou, se um termo divertido descodificado fluir para um local de chamada que o invoca, conseguir a execução de código remoto dentro do processo do servidor. ** Causa da rota** — `lib/ grpc/codec/ erlpack. ex ' implementa ` decode/ 2 ` como uma chamada descarada `:erlang.binary_to_term(binary)` sem bandeira `:safe`, sem limite de tamanho e sem validação de tipo. Isto tem dois caminhos de exploração independentes: ** 1. Dos via exaustão de átomos** — os átomos do BEAM nunca são coletados no lixo e a tabela global do átomo é delimitada (~ 1,048,576 Ingresos). Uma carga útil criada que codifica grandes números de átomos frescos satura a tabela e bloqueia a VM inteira, derrubando todos os aplicativos no nó.

** 2. RCE via materialização divertida** — Sem `:safe`, `binary_ to_ term/ 1 ` reconstrui termos divertidos e externos- divertidos a partir de dados de fio. Se o valor descodificado atingir qualquer local de chamada que o aplique (por exemplo, `Enum. map`, `Task.async`, invocação direta), o código controlado pelo atacante executa- se dentro do processo do servidor. ** Requisito de configuração:** `GRPC.Codec.Erlpack` não está registrado por padrão e deve ser adicionado explicitamente à opção `codecs` do servidor.

1. Inicie um servidor do gRPC com `codecs: [GRPC.Codec.Erlpack]`. 2. Abrir um HTTP/ 2 conexão com o servidor. 3. Envie um POST com o gRPC para qualquer caminho do RPC com o `Content- Type: application/grpc+erlpack` e um corpo de `:erlang.term_to_binary(fn -> end)`. 4. O ` decodificado/ do servidor 2 ` materializa a diversão; qualquer local de chamada a jusante que invoca o valor decodificado executa o código do atacante. 5. Apenas para o DoS: envie cargas úteis codificando átomos frescos em um loop até que a tabela átomo esteja esgotada e a VM quebra. Afecta o ` grpc` ≥ 0.4.0. Qualquer servidor que registre explicitamente `GRPC.Codec.Erlpack` é vulnerável a um nível de nó de DoS não autenticado e potencialmente RCE.

* Introdução commit: elixir- grpc/ grpc/ commit/ 25 bcc 569 fe 2 cc 4478531 a 6 c 546 c 923205 fc 751 c 9 * Patch commit: elixir- grpc/ grpc/ commit/ 272 a 97 a 5 x 1 b 46 af 1819 f 14 a 831 fcf 35 fc 91 f 992 Registro de aconselhamento: GHSA- grp 7 - v 8 xh-rj 7 h. Identificadores relacionados: CVE- 2026 - 48853.

Tempo: GitHub Advisory Database publicou este registro em 2026 - 08 - 25 T 18: 09: 53.000 Z e lista a sua última modificação como 2026 - 08 - 25 T 18: 09: 53.000 Z. Gravidade: Crítico. Dados de pontuação publicados: CVSS_V 4: CVSS: 4.0 /AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/África do Sul:N.

Software afetado e informações de versão: pacote hexagonal grpc — ECOSISTEM: introduzido 0.4.0, corrigido 1.0.0. Classificação e evidência: identificadores de fraqueza CWE- 502, CWE- 770. O registro contém 8 suporte de referências nestes tipos: WEB, AVISO, EMBALAGAMENTO.