Markdown2 · Markdown2 · CVE-2026-25516
**Nome do Software Vulnerável e Versões Afetadas**
Versões do NiceGUI anteriores à 3.7.0
**Descrição**
O componente `ui.markdown()` no NiceGUI não sanitiza o conteúdo markdown controlado pelo usuário antes de renderizá-lo como HTML através de `innerHTML`. Isso permite que atacantes injetem HTML malicioso, incluindo manipuladores de eventos JavaScript, resultando em potenciais ataques de Cross-Site Scripting (XSS). Ao contrário de outros componentes do NiceGUI que renderizam HTML, o `ui.markdown()` carece de um parâmetro `sanitize`, aumentando o risco. Um atacante poderia explorar isso fornecendo entrada manipulada através da função `ui.markdown()`. A prova de conceito demonstra que um atacante pode executar código JavaScript quando uma página é carregada, injetando uma tag de imagem maliciosa com um manipulador de evento `onerror`. A exploração bem-sucedida poderia permitir que um atacante roubasse cookies de sessão, executasse ações em nome do usuário, redirecionasse usuários para sites maliciosos ou modificasse o conteúdo da página. O componente utiliza a biblioteca `markdown2` para converter conteúdo markdown para HTML.
**Recomendações**
As versões anteriores à 3.7.0 devem ser atualizadas para a versão 3.7.0 ou posterior. Como solução temporária (workaround), não passe conteúdo não confiável diretamente para `ui.markdown()`. Em vez disso, utilize uma das seguintes abordagens: Opção 1: Converta e sanitize manualmente usando `ui.html()`. Opção 2: Faça o escape do HTML antes da conversão markdown, caso HTML bruto não seja necessário.