1. Você executa ` zebrad` até e incluindo ` v 4.4.1 `. 2. O seu nó ouve no endereço padrão `[::]` em um host Linux (a configuração padrão de implantação — `net.ipv 6. bindv 6 somente= 0 ` é o padrão em todas as distribuições Linux comuns. 3. Seu nó está sincronizado perto da ponta da cadeia (o estado de produção esperado para qualquer nó que participe na rede). Um desconhecimento de normalização de endereço entre o caminho do aperto de mão e o caminho do desconhecimento do mempool causa um pânico de afirmação determinística quando um pair se conecta através do IPv 4 para um IPv de dupla esteira 6 ouvindo e, em seguida, ativa uma penalidade de mau comportamento do mempool.

O caminho do aperto de mão canoniza IPv 4 - IPv mapeado 6 endereços para IPv simples 4 ao armazenar o pair na agenda de endereços através de `MetaAddr::new_connected`. O caminho de comportamento errado do mempool adiante o endereço de tomada de dados transitório bruto (IPv 4 - IPv mapeado 6 Form) ao enviar `MetaAddrChange::UpdateMisbehavior` para a agenda de endereços. A agenda de endereços procura o IPv canônico 4 digitação, mas então afirma que o endereço do digitamento anterior corresponde ao endereço da mudança. O desconhecimento entre o IPv canônico 4 endereço e o IPv bruto 4 - IPv mapeado 6 o endereço desencadeia a afirmação e `panic = "abort"` termina o processo. No Linux com `net.ipv 6. bindv 6 somente= 0 `, um IPv 4 conexão aceita por um '[::]` ouvindo é representada internamente como um IPv 4 - IPv mapeado 6 Endereço do socket (por exemplo, `::ffff: 127.0.0.1: 8233 `). O ajudante do Zebra `canonical_peer_addr` converte estes para IPv simples 4 (por exemplo, ' 127.0.0.1: 8233 `).

O caminho do aperto de mão usa `MetaAddr::new_connected`, que canoniza o endereço antes de armazenar na agenda de endereços. No entanto, o registro de inventário de entrada usa `connected_addr.get_transient_addr()`, preservando o IPv bruto 4 - formulário mapeado. Quando o mempool mais tarde baixar uma transação inválida a partir deste pai e gerar uma penalidade de comportamento incorreto, o endereço transitório bruto é encaminhado através do canal de comportamento incorreto para `MetaAddrChange::UpdateMisbehavior`, que não canoniza. Após o 30 - segunda errada de comportamento, ` AddressBook::update` recupera o IPv canônico 4 a entrada, mas `MetaAddrChange::apply_to_meta_addr`, afirma que `previous.addr == self.addr()`, que falha porque um é IPv 4 e o outro é IPv 4 - IPv mapeado 6.

O atacante precisa apenas completar um P 2 P aperto de mão sobre IPv 4 para um ouvinte de dupla esteira e anunciar uma transação de mempool inválida (como uma transação de base de moedas). A afirmação dispara após o 30 - segunda errada de comportamentos em lote. Patcheado em Zebra 4.5.0. A correção canonica o endereço no caminho de atualização do comportamento errado através de um novo construtor `MetaAddr::new_misbehavior` que aplica `canonical_peer_ addr` antes de criar a mudança `UpdateMisbehavior`.

Configurando `ouvir_addr` para um IPv 4 - apenas endereço (por exemplo, ` 0.0.0.0: 8233 `) evita o IPv 4 - IPv mapeado 6 representação e evita esta afirmação específica. Alternativamente, configurando `net.ipv 6. bindv 6 somente= 1 ` no Linux impede a aceitação de duplas- academias. Um peer remoto não autenticado pode deterministicamente bloquear qualquer nó Zebra sincronizado executando a configuração padrão de dupla pilha Linux com um único anúncio de transação de mempool inválido, seguido de um 30 - segundo, espere. O ataque não requer capacidade de mineração, nenhum RPC, nenhum fundo e nenhum privilégio especial. O crash pode ser repetido após cada reinicio, causando tempo de parada persistente. Os sockets de dupla ativação de pilhas Linux e mempool são o estado de produção padrão, não pré- preconceitos especiais.

Relato por `@ Haxatron`. Registro de aconselhamento: GHSA- 63 Wg- wjjj- 7 cp 8. Identificadores relacionados: CVE- 2026 - 52829.

Tempo: GitHub Advisory Database publicou este registro em 2026 - 07 - 02 T 20: 26: 56.000 Z e lista a sua última modificação como 2026 - 07 - 02 T 20: 26: 56.000 Z. Severidade: ALTAMENTE. Dados de pontuação publicados: CVSS_V 3: CVSS: 3.1 /AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H.

Software afetado e informações de versão: caixas.io pacote zebra- network — ECOSISTEM: introduzido 0, corrigido 7.0.0. caixas.io pacote zebrad — ECOSISTEM: introduzido 0, corrigido 4.5.0. Classificação e evidência: identificadores de fraqueza CWE- 617, CWE- 843. O registro contém 2 suporte de referências nestes tipos: WEB, PACKAGE.