Skip to main content

In this article

84% de todos os sites são afetados por vulnerabilidades de XSS no jQuery

Escrito por
JavaScript Report feature

30 de outubro de 2019

0 minutos de leitura

Boas-vindas ao relatório de 2019 da Snyk sobre a segurança de frameworks JavaScript. Nesta publicação, vamos analisar as vulnerabilidades de segurança encontradas em outros projetos do ecossistema frontend.

Depois de analisar Angular e React, dois dos principais frameworks JavaScript, vamos fazer uma breve avaliação de alguns frameworks JavaScript e CSS: Vue.js, jQuery e Bootstrap.

Baixe o relatório aqui!

Segurança do jQuery

O jQuery revolucionou o desenvolvimento web há uma década, mas, desde então, esse campo evoluiu ainda mais com tecnologias para aplicações de página única, como Angular e React. Ainda assim, segundo a W3Techs, que realiza pesquisas regularmente e publica relatórios sobre o uso de tecnologias web, o jQuery estava presente em 73% dos sites analisados em agosto de 2019.

Um estudo da Snyk de 2017 reforça esse dado: ele apontou que 77% dos sites usam pelo menos uma biblioteca JavaScript vulnerável e observou que o jQuery foi detectado em 79% dos 5.000 principais URLs da Alexa. Se você ainda não está convencido, o módulo jQuery no npm teve 120.641.977 downloads somente nos últimos 12 meses.

No total, identificamos seis vulnerabilidades de segurança que afetam o jQuery em todas as versões lançadas até hoje: quatro vulnerabilidades de Cross-Site Scripting de gravidade média, uma vulnerabilidade de poluição de protótipo de gravidade média e, por fim, uma vulnerabilidade de negação de serviço de baixa gravidade. Se você não usa o jQuery 3.4.0 ou posterior, lançado recentemente, em 10 de abril de 2019, está usando uma versão vulnerável do jQuery.

Gráfico de rosca que mostra a quantidade de vulnerabilidades no jQuery por versão: 54% no jQuery 1.x, 17% no 2.x e 29% no 3.x.

Como o jQuery costuma ser encontrado em aplicações web como um componente legado, também é importante entender os padrões de uso de suas versões e o estado de segurança delas.

A W3Techs informa que, entre todos os sites que usam jQuery, a versão 1.x predomina, com 83,4% de participação; as versões 2 e 3 ficam bem atrás, com cerca de 8% do uso total do jQuery. Ao analisar as vulnerabilidades de segurança conhecidas e mapeá-las para as versões do jQuery, descobrimos que quatro vulnerabilidades de Cross-Site Scripting de gravidade média afetam o jQuery v1. Isso pode ser preocupante, considerando sua participação de 83,4% no mercado, especialmente para quem não usa análise de composição de software para encontrar e corrigir vulnerabilidades em componentes de código aberto.

Muitos sites e aplicações web também usam bibliotecas jQuery para ampliar os recursos do jQuery e recorrem a bibliotecas mantidas pela comunidade para isso.

Identificamos 13 bibliotecas jQuery vulneráveis, listadas na tabela a seguir, e destacamos as seguintes observações:

  • Três bibliotecas jQuery são versões maliciosas de módulos de código aberto da comunidade. Como não é possível contabilizar os downloads das versões realmente vulneráveis, pois esses dados não estão disponíveis no registro do npm, vale destacar o jquery.js: um pacote malicioso que teve 5.444 downloads nos últimos 12 meses.

  • As bibliotecas jQuery jquery-mobile, jquery-file-upload e jquery-colorbox somam mais de 340.000 downloads nos últimos 12 meses, apesar de incluírem vulnerabilidades de execução arbitrária de código e Cross-Site Scripting, sem oferecer uma forma de atualização para corrigi-las.

Nome da biblioteca jQuery

Tipo de vulnerabilidade

Data de divulgação

Gravidade da vulnerabilidade

Downloads anuais do módulo

Há correção?

Pacote malicioso

2019-08-06

alta

322

não disponível

Cross-Site Scripting

2019-07-03

média

17,898

✅

Pacote malicioso

2019-06-07

alta

232

não disponível

Cross-Site Scripting

2019-05-04

média

54,991

❌

Execução arbitrária de código

2018-11-02

baixa

19,442

❌

Cross-Site Scripting

2018-08-19

média

79,982

✅

Negação de serviço por expressão regular (ReDoS)

2018-02-13

alta

3,069

✅

Cross-Site Scripting

2017-11-14

média

268,513

❌

Pacote malicioso

2017-08-02

alta

5,444

não disponível

Cross-Site Scripting

2016-07-21

alta

8,934,683

✅

Falsificação de solicitação entre sites (CSRF)

2015-06-24

média

5,763,710

✅

Cross-Site Scripting

2013-04-18

média

1,831,735

✅

Falsificação de solicitação entre sites (CSRF)

2012-11-26

média

8,934,683

✅

Cross-Site Scripting

2012-08-01

média

54,991

✅

Cross-Site Scripting

2010-09-02

média

8,934,683

✅

*pacotes maliciosos não têm informações sobre correções.


Baixe o relatório aqui

Recomendamos fortemente baixar a versão completa do relatório em formato digital. Também disponibilizamos as seguintes seções gerais em publicações no blog:

Comece a jogar Capture the Flag

Aprenda a resolver desafios de Capture the Flag assistindo à gravação sob demanda do nosso workshop virtual introdutório.

Leia mais

blog feature ai lilac
Blog

Transforme seu backlog de vulnerabilidades em pull requests com remediação agentiva

O Evo Remediation Agent está em Open Preview e traz a resolução automatizada de dependências para o Evo Agentic AppSec. Agora, as equipes de AppSec podem executar campanhas contínuas de remediação

illustration hero ai
Blog

PHP corrige duas vulnerabilidades críticas de RCE sem autenticação (CVE-2026-109618, CVE-2026-109619): atualize agora

Duas falhas críticas no ciclo de requisições do PHP podem permitir execução remota de código sem autenticação. Atualize para uma versão corrigida ou instale um backport do fornecedor para versões mais antigas.

blog feature ai pink
Blog

O risco de um modelo de IA depende do que ele pode acessar

A pontuação de risco de um modelo é apenas parte da história: seu impacto depende dos dados, das ferramentas e das ações que a aplicação pode acessar. Saiba como as equipes de segurança podem verificar esse alcance e escolher controles direcionados.