As versões afetadas de `liga/commonmark` podem ter complexidade quadrática ao analisar linhas de Markdown especialmente criadas. Em termos práticos, duplicar o comprimento de uma linha afetada pode fazer com que o analisador funcione aproximadamente quatro vezes mais trabalho. O analisador identifica locais usando posições de caracteres, mas as combinações de expressão regular reportam posições de byte. Estas posições diferem quando um UTF- 8 o caracter usa mais de um byte. Vários caminhos de análise repetidamente reescanam porções crescentes da linha para traduzir entre as duas posições. A extensão Autolink também pode copiar e validar a linha restante em cada prefixo semelhante a URL. Em atual 2 O.x libera, um único caracter não- ASCII em qualquer lugar de uma linha pode colocar essa linha inteira no caminho multibyte mais lento. Um atacante pode combinar com uma longa série de pontos de espaço branco ou Markdown repetidos, causando reescans cada vez mais grandes. Quando a extensão de Ligação Automática estiver ativada, os prefixos repetidos como URL fornecem outro gatilho, mesmo nas linhas apenas do ASCII. Cada gatilho se encaixa dentro de uma linha longa, por isso a estrutura de Markdown complexa é desnecessária.

Um atacante que pode enviar o Markdown para conversão pode usar um pedido comparativamente pequeno para consumir tempo de CPU desproporcionado e atividade de alocação. As solicitações repetidas ou concorrentes podem ocupar todos os trabalhadores disponíveis do PHP e evitar que as solicitações legítimas sejam completadas. Os caminhos do núcleo afetam o `CommonMarkConverter`, `GithubFlavoredMarkdownConverter` e ambientes personalizados. O caminho específico do autolink afeta aplicativos usando `AutolinkExtension' ou `GithubFlavoredMarkdownExtension'. Aplicações que processam apenas o Markdown confiável não são remotamente exploráveis. O impacto é limitado à disponibilidade: ele não divulga dados, altera saída renderizada ou evita restrições de renderização. Configurações como `html_input` e `allow_unsafe_links` não mitigam o problema porque o trabalho caro ocorre antes da renderização. O problema é corrigido em ` 2.9.0 " e depois. Começando com essa versão, o analisador registra UTF- 8 posições de caracteres para bytes incrementalmente, converte as posições de correspondência de expressão regular ordenadas sem reiniciar desde o início da linha, e combina com as ligações automáticas contra a linha original em vez de copiar cada sufixo restante. O trabalho afetado cresce então em proporção direta ao tamanho de entrada, preservando a saída Markdown e o comportamento de configuração existentes. Versões de ` 0.6.0 ` através de ` 2.8.3 " são afetados. O 0.x e 1 As linhas de lançamento.x não são mais suportadas, por isso seus usuários devem atualizar para ` 2.9.0 ` ou mais tarde.

Se você não puder atualizar imediatamente, rejeite ou trunque as entradas com linhas individuais excessivamente longas antes de passar para o conversor. Um limite total de tamanho de solicitação também é útil, mas um limite por linha é importante porque cada gatilho demonstrado se encaixa em uma linha. Escolha limites apropriados para o aplicativo e execute- os antes de o Markdown analisar começar. Restringindo a conversão para usuários confiáveis, aplicando limites rigorosos de tempo de execução, limitando pedidos de taxa e limitando conversões concorrentes pode reduzir ainda mais a exposição, mas estas medidas não são substitutos completos para atualização. Desativar `AutolinkExtensão' e evitar `GithubFlavoredMarkdownExtensão` remove o gatilho específico do autolink, mas os caminhos de análise multibyte do núcleo permanecem alcançáveis no analisador padrão. As opções de configuração de ninho, delimitador, HTML bruto e links inseguros existentes não eliminam todos os caminhos afetados. Aplicações que devem continuar processando o Markdown não confiável devem, portanto, impor limites de entrada mesmo quando a autoligação está desativada.

Registro de aconselhamento: GHSA- 2 q 4 p- g 7 HV- 5 rgv. Identificadores relacionados: CVE- 2026 - 71488.

Tempo: GitHub Advisory Database publicou este registro em 2026 - 08 - 06 T 20: 37: 20.000 Z e lista a sua última modificação como 2026 - 08 - 06 T 20: 37: 20.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.

Informações sobre software e versão afetadas: Packagist package league/commonmark — ECOSISTEM: introduzido 0.6.0, corrigido 2.9.0.

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