1. Você executa ` zebrad` até e incluindo ` v 4.4.1 `. 2. O seu `zebrad.toml` define `rpc.listen_addr` para um endereço TCP (o servidor RPC está habilitado). 3. Um atacante pode autenticar o objetivo do RPC. Com o padrão `enable_cookie_auth = true`, isso requer que o atacante leia o arquivo `.cookie`. Com `enable_cookie_auth = false`, qualquer cliente de rede que alcança a porta RPC pode acioná- la. O gerenciador do RPC `getblocktemplate` entra em pânico ao analisar um parâmetro `LongPollId` que contém não- ASCII (UTF- multibyte- UTF- 8 ) caracteres. O manipulador executa string byte- index cortando na string fornecida pelo usuário, o que entra em pânico no Rust quando um índice de byte cai dentro de um limite de caracteres de vários bytes. Como o perfil de lançamento do Zebra define `panic = "abort"`, o pânico termina todo o processo do nó. O manipulador de `getblocktemplate` recebe uma string `LongPollId` fornecida pelo usuário e a corta em offsets de byte fixos para extrair o hash de ponta codificado e a altura da ponta. Quando a cadeia contém UTF de vários bytes 8 caracteres, uma fatia de índice de byte pode aterrissar no meio de um caractere, causando o índice de `str` de Rust para entrar em pânico com "índice de byte não é um limite de caracteres".
Sob o perfil de lançamento `panic = "abort"`, este pânico termina todo o processo ` zebrad` em vez de apenas a tarefa do RPC. zebra- rpc 8.0.0 e zebrado 4.5.0. Substitua a string de byte- index cortando com a análise de caracteres ou valida que a string `LongPollId` contém apenas caracteres ASCII antes da corte.
- Desativar o servidor RPC removendo ` rpc.listen_ addr` de `zebrad.toml`. - Garantir `enable_cookie_ auth = true` (o padrão) e restringir o acesso ao sistema de arquivos ao arquivo `.cookie`. - Colocar um proxy inverso em frente à porta RPC que valida os parâmetros `LongPollId` são apenas ASCII antes de encaminhar. Um único pedido de RCP autenticado termina o processo ` zebrad`. O mesmo perfil de impacto que o GHSA-c 8 w 6 - x 74 f- vmg 3: repetível ao reiniciar, afeta os pools de mineração e infraestrutura que encaminham chamadas de 'getblocktemplate'.
Relato por `@sangsoo- oesc` através de uma submissão privada de assessoria de segurança do GitHub. Registro de aconselhamento: GHSA-qv 2 r-v 3 mx- f 4 pf. Identificadores relacionados: CVE- 2026 - 52731.
Tempo: GitHub Advisory Database publicou este registro em 2026 - 07 - 02 T 19: 28: 03.000 Z e lista a sua última modificação como 2026 - 07 - 02 T 19: 28: 03.000 Z. Gravidade: MODERAR. Dados de pontuação publicados: CVSS_V 3: CVSS: 3.1 /AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H.
Software afetado e informações de versão: caixas.io pacote zebra-rpc — ECOSISTEM: introduzido 0, corrigido 8.0.0. caixas.io pacote zebrad — ECOSISTEM: introduzido 0, corrigido 4.5.0. Classificação e evidência: identificadores de fraqueza CWE- 248. O registro contém 3 suporte de referências nestes tipos: WEB, PACKAGE.