PT-2022-20575 · Jquery+5 · Jquery Ui+5

·

CVE-2022-31160

·

Publicado

2022-07-18

·

Atualizado

2026-03-10

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 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">

  &lt;img src=x onerror="alert(1)"&gt;

</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>&lt;img src=x onerror="alert(1)"&gt;</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

ALSA-2025_16880
ALT-PU-2023-6282
ALT-PU-2023-6850
CVE-2022-31160
DLA-3230-1
GHSA-H6GJ-6JJQ-H8G9
USN-5181-1
USN-6419-1

Produtos afetados

Alt Linux
Astra Linux
Debian
Linuxmint
Ubuntu
Jquery Ui