### Resumo O GoBGP contém um problema de análise da capacidade BGP OPEN, onde vários decodificadores de capacidade concretas podem analisar os dados do buffer de capacidade remanescente completo em vez da fatia delimitada pelo comprimento de capacidade declarado, `CapLen '. Uma mensagem BGP ABREB mal formada pode fazer com que bytes a partir de uma seguinte capacidade sejam interpretados como parte da capacidade atual. O caso mais relevante para a segurança é o 4 - octet capacidade AS, onde uma capacidade com ` CapLen == 0 ` pode fazer com que o analisador leia bytes da seguinte capacidade como o 4 - octeto valor AS. Este valor analisado poderá afetar posteriormente a validação do AS de pares durante o estabelecimento da sessão BGP. ### Detalhes O problema está no analisador da capacidade ABRIR BGP em. - `pkg/packet/bgp/bgp.go` - `pkg/packet/bgp/validate.go` - O formato de capacidade de parâmetro opcional BGP OPEN inclui um código de capacidade, um campo de comprimento de capacidade e um valor de capacidade. Cada decodificador de capacidade de concreto só deve analisar bytes dentro do limite de valor de capacidade declarado. Nas versões afetadas, o analisador de capacidade genérico registra o `CapLen` declarado, mas vários decodificadores de capacidade concreta continuam analisando a partir do buffer de capacidade remanescente completo após avançar além do cabeçalho de capacidade de dois bytes. Conceitualmente, o padrão vulnerável é: ```go data = data[ 2:] // decodificador lê a partir de dados sem antes limitá- lo ao CapLen.

### PoC A prova de conceito de nível de análise a seguir demonstra o problema sem exigir uma sessão completa do BGP ou uma instância 'bgpd' em execução. A capacidade mal formada usa: - Código de Capacidade: ` 65 ` (`BGP_CAP_QUATRO_OCTET_AS_NUMBER`) - Declarado ` CapLen`: ` 0 ` - Quatro bytes seguintes: ` 00 00 fd e 8 ` Embora a capacidade declare um valor vazio, as versões afetadas analisam os seguintes quatro bytes como o 4 - octeto valor AS ` 65000 `.

### Impacto Um par remoto que pode enviar uma mensagem de BGP ABEN mal formada para uma instância do GoBGP pode fazer com que valores de capacidade sejam analisados fora dos limites de `CapLen` declarados. No 4 - octet caso de capacidade AS, isso pode afetar: - validação de peer AS; - negociação de capacidade; - interpretação de mensagens ABRIL mal formadas; - decisões de aceitação ou rejeição durante o estabelecimento da sessão BGP. Este problema não parece ser corrupção arbitrária de memória, execução remota de código ou divulgação de informações. É um problema de validação de limites de análise de protocolo que pode afetar a semântica de validação BGP OPEN. Registro de aconselhamento: GHSA- gjrg-jjr 3 - 56 cm. Identificadores relacionados: CVE- 2026 - 49837.

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

Informações sobre software e versão afetadas: Go pacote github.com/osrg/gobgp/v 4 — ECOSISTEM: introduzido 0, corrigido 4.6.0.

Classificação e evidência: identificadores de fraqueza CWE- 125. O registro contém 2 suporte de referências nestes tipos: WEB, PACKAGE.