PT-2026-21771 · Unknown+5 · Leafletlayer+6

Anuraagbaishya

·

Publicado

2026-02-24

·

Atualizado

2026-02-25

·

CVE-2026-27156

CVSS v3.1

6.1

Média

VetorAV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Nome do Software Vulnerável e Versões Afetadas Versões do NiceGUI anteriores à 3.8.0
Descrição As APIs do NiceGUI, incluindo Element.run method(), AgGrid.run grid method(), EChart.run chart method() e outras, utilizavam um fallback eval() dentro da função JavaScript runMethod(). Isso permitia a execução arbitrária de JavaScript no navegador da vítima quando uma entrada controlada pelo usuário era fornecida como nome do método. Além disso, Element.run method() e Element.get computed prop() utilizavam interpolação de strings em vez de json.dumps() para nomes de métodos/propriedades, permitindo a injeção de aspas para contornar o contexto de string pretendido. Um atacante poderia criar uma URL maliciosa com um payload como parâmetro de consulta e, se o aplicativo passasse esse parâmetro como nome do método para qualquer uma das APIs afetadas, o payload seria enviado ao cliente via WebSocket e executado. Isso poderia levar ao roubo de cookies/tokens, manipulação do DOM e ações realizadas como o usuário vítima. Os métodos afetados incluem: Element.run method(), Element.get computed prop(), AgGrid.run grid method(), AgGrid.run row method(), EChart.run chart method(), JsonEditor.run editor method(), Xterm.run terminal method(), Leaflet.run map method(), Leaflet.run layer method() e LeafletLayer.run method().
Recomendações Atualize para a versão 3.8.0 ou superior do NiceGUI. Caso a atualização não seja possível imediatamente, utilize ui.run javascript() em vez de passar funções JavaScript como nomes de métodos. Por exemplo, substitua row = await grid.run grid method('g => g.getDisplayedRowAtIndex(0).data') por row = await ui.run javascript(f'return getElement({grid.id}).api.getDisplayedRowAtIndex(0).data').

Exploit

Correção

XSS

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

Enumeração de Fraquezas

Identificadores relacionados

CVE-2026-27156
GHSA-78QV-3MPX-9CQQ

Produtos afetados

Ag-Grid
Echarts
Jsoneditor
Leaflet
Leafletlayer
Nicegui
Xterm