PT-2022-20575 · Jquery+5 · Jquery Ui+5
CVSS v3.1
6.1
Média
| Vetor | AV: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 jQuery UI anteriores à 1.13.2
Descrição
A inicialização de um widget
checkboxradio em um campo de entrada (input) inserido dentro de um rótulo (label) faz com que o conteúdo desse rótulo pai seja considerado como o rótulo do campo de entrada. Se você chamar .checkboxradio( “refresh” ) nesse widget e o HTML inicial contiver entidades HTML codificadas, elas serão decodificadas erroneamente. Isso pode levar à execução potencial de código JavaScript. Por exemplo, partindo do seguinte HTML inicial seguro:html
<label>
<input id="test-input">
<img src=x onerror="alert(1)">
</label>
e chamando:
js
$( “#test-input” ).checkboxradio();
$( “#test-input” ).checkboxradio( “refresh” );
transformará o HTML inicial em:
html
<label>
<!-- alguns elementos jQuery UI -->
<input id="test-input">
<img src=x onerror="alert(1)">
</label>
e o alerta será executado.
Recomendações
Para corrigir o problema, se você puder alterar o HTML inicial, pode envolver todo o conteúdo que não seja de entrada do
label em um span:html
<label>
<input id="test-input">
<span><img src=x onerror="alert(1)"></span>
</label>
Para versões anteriores à 1.13.2, atualize para o jQuery UI 1.13.2 para corrigir o bug.
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
Produtos afetados
Alt Linux
Astra Linux
Debian
Linuxmint
Ubuntu
Jquery Ui