PT-2024-22359 · Katex+1 · Katex+1

Jupenur

·

Publicado

2024-03-25

·

Atualizado

2025-09-02

·

CVE-2024-28244

CVSS v3.1

6.5

Média

VetorAV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Nome do software vulnerável e versões afetadas
Versões do KaTeX anteriores à 0.16.10
Descrição
O KaTeX é uma biblioteca JavaScript para renderização matemática TeX na web. Usuários que renderizam expressões matemáticas não confiáveis podem se deparar com entradas maliciosas usando def ou ewcommand, o que causa um loop quase infinito, apesar de ter definido maxExpand para evitar tais loops. O KaTeX oferece uma opção chamada maxExpand, que visa impedir que macros infinitamente recursivas consumam toda a memória disponível e/ou provoquem um erro de estouro de pilha. Infelizmente, o suporte a caracteres Unicode (sub|super)script permite que um invasor contorne esse limite. Cada grupo de sub/superscript instanciava um analisador (Parser) separado com seu próprio limite de execuções de macro, sem herdar a contagem atual de execuções de macro de seu pai.
Recomendações
Atualize para o KaTeX v0.16.10 para remover essa vulnerabilidade.
Como solução alternativa temporária, considere proibir entradas que contenham qualquer um dos caracteres ₊₋₌ ₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ⁺⁻⁼ ⁽⁾⁰¹²³⁴⁵⁶⁷⁸⁹ᵃᵇᶜᵈᵉᵍʰⁱʲᵏˡᵐⁿᵒᵖʳˢᵗᵘʷˣʸᶻᵛᵝᵞᵟᵠᵡ antes de passá-los para o KaTeX.

Exploit

Correção

Uncontrolled Recursion

Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾

Enumeração de Fraquezas

Identificadores relacionados

CVE-2024-28244
GHSA-CVR6-37GX-V8WC

Produtos afetados

Debian
Katex