CVE-2022-23608
Sobre
O PJSIP é uma biblioteca de comunicação multimídia livre e de código aberto escrita em linguagem C que implementa protocolos baseados em padrões, como SIP, SDP, RTP, STUN, TURN e ICE. Nas versões até a 2.11.1 inclusive, em um cenário de conjunto de diálogos (ou forking), uma chave de hash compartilhada por múltiplos diálogos UAC pode ser potencialmente liberada prematuramente quando um dos diálogos é destruído. O problema pode fazer com que um conjunto de diálogos seja registrado na tabela de hash múltiplas vezes (com chaves de hash diferentes), levando a comportamento indefinido, como colisão da lista de diálogos, culminando por fim em um laço infinito. Um patch está disponível no commit db3235953baa56d2fb0e276ca510fefca751643f, que será incluído no próximo lançamento. Não há workarounds conhecidos para este problema.
Análise do analista Rainforest
O PJSIP tem um use-after-free em cenários de conjunto de diálogos (forking): uma chave de hash compartilhada por múltiplos diálogos UAC pode ser liberada prematuramente quando um diálogo é destruído, o que pode registrar um conjunto de diálogos na tabela de hash múltiplas vezes e levar a comportamento indefinido — colisões da lista de diálogos que terminam em um laço infinito. O PJSIP sustenta pilhas SIP/VoIP, então o impacto prático é um caminho disparável remotamente para corrupção de memória e negação de serviço em infraestrutura de telefonia, com o teto de comportamento indefinido que o use-after-free implica.
O vetor marca alta complexidade de ataque, e a descrição explica por quê: depende de uma condição específica de forking/conjunto de diálogos e de uma ordem particular de destruição, não de um único pacote trivial. Assim, embora seja alcançável pela rede e não autenticada, conduzir o use-after-free de forma confiável exige mais do que spray-and-pray — trata-se de um atacante capacitado mirando um serviço SIP, e não de um one-liner de botnet. Onde ela aterrissa, um serviço de voz travado ou derrubado é um golpe real de disponibilidade para quem depende desse caminho de telefonia, e a corrupção de memória sempre carrega uma cauda de pior caso.
Como o PJSIP é uma biblioteca embarcada, nosso tratamento é o inventário de dependências entre os produtos que a incorporam — o CVE abrange Asterisk, Certified Asterisk, Debian e o próprio PJSIP. O trabalho é mapear quais sistemas VoIP no parque são construídos sobre a biblioteca afetada 2.11.1 ou anterior e colocá-los em builds que incluam o commit de correção. Não há workarounds do fornecedor segundo o advisory, então a aplicação de patch é o único remédio real; nós a classificamos conforme o serviço SIP esteja exposto a chamadores não confiáveis ou confinado a uma rede de voz confiável.
Referências
- http://packetstormsecurity.com/files/166226/Asterisk-Project-Security-Advisory-AST-2022-005.html
- http://seclists.org/fulldisclosure/2022/Mar/1
- https://github.com/pjsip/pjproject/commit/db3235953baa56d2fb0e276ca510fefca751643f
- https://github.com/pjsip/pjproject/security/advisories/GHSA-ffff-m5fm-qm62
- https://lists.debian.org/debian-lts-announce/2022/03/msg00035.html
- https://lists.debian.org/debian-lts-announce/2022/03/msg00040.html
- https://lists.debian.org/debian-lts-announce/2022/11/msg00021.html
- https://lists.debian.org/debian-lts-announce/2023/08/msg00038.html
- https://security.gentoo.org/glsa/202210-37
- https://www.debian.org/security/2022/dsa-5285
- https://lists.debian.org/debian-lts-announce/2024/09/msg00030.html
CVEs Relacionadas
Perguntas frequentes
O que é CVE-2022-23608?
O PJSIP é uma biblioteca de comunicação multimídia livre e de código aberto escrita em linguagem C que implementa protocolos baseados em padrões, como SIP, SDP, RTP, STUN, TURN e ICE. Nas versões até a 2.11.1 inclusive, em um cenário de conjunto de diálogos (ou forking), uma chave de hash compartilhada por múltiplos diálogos UAC pode ser potencialmente liberada prematuramente quando um dos diálogos é destruído.
Qual a gravidade de CVE-2022-23608?
CVE-2022-23608 tem pontuação base CVSS 3.1 de 8.1, classificada como high. No Rainforest Risk Index — que pondera a gravidade junto com a facilidade de alcançar a falha e a amplitude do impacto — a nota é 90 de 100, na faixa crítico.
Como CVE-2022-23608 é explorada?
Segundo o vetor CVSS (CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H): vetor de ataque Rede, complexidade de ataque Alta, privilégios necessários Nenhum, interação do usuário Nenhuma. Impacto em confidencialidade Alto, integridade Alto e disponibilidade Alto.
Quais produtos são afetados por CVE-2022-23608?
Os avisos públicos listam como afetados: asterisk, certified asterisk, debian linux, pjsip. Consulte as referências desta página para as versões exatas confirmadas por cada fornecedor.
Como corrigir CVE-2022-23608?
Aplique a correção publicada pelo fornecedor — as referências desta página levam aos avisos e patches originais. Quando não for possível corrigir de imediato, reduza a exposição do componente afetado e monitore tentativas de exploração. Clientes Rainforest recebem esta vulnerabilidade correlacionada aos próprios ativos e priorizada pela exposição real, não apenas pela nota.
Potencialize sua estratégia de segurança com a Rainforest
Descubra vulnerabilidades cedo, priorize ameaças críticas e proteja o que realmente importa. A Rainforest simplifica suas operações de segurança, economizando tempo e reduzindo custos, para você focar no que move o seu negócio.
