Múltiplos Plugins WordPress são vulneráveis a Cross-site Scripting (XSS), devido ao mau uso das funções do add_query_arg () e remove_query_arg () . Estas são funções populares usados pelos desenvolvedores para modificar e adicionar seqüências de consulta para URLs dentro WordPress. O WordPress oficial Documentação Oficial (Codex) para estas funções não era muito clara e enganou muitos desenvolvedores de plugins para usá-los de forma insegura. Os desenvolvedores do princípio de que essas funções escaparia a entrada do usuário para eles, quando isso não acontece. Esse simples detalhe, fez com que muitos dos plugins mais populares a ser vulnerável a XSS.
Até o momento, esta é a lista de plugins afetados:
- Jetpack
- WordPress SEO
- Google Analytics by Yoast
- All In one SEO
- Gravity Forms
- Multiple Plugins from Easy Digital Downloads
- UpdraftPlus
- WP-E-Commerce
- WPTouch
- Download Monitor
- Related Posts for WordPress
- My Calendar
- P3 Profiler
- Give
- Multiple iThemes products including Builder and Exchange
- Broken-Link-Checker
- Ninja Forms
Há provavelmente um pouco mais que não temos listados. Se você usa o WordPress, é altamente recomendável que você vá para o seu dashboard wp-admin e atualizar qualquer plugins.
Este problema foi identificado pela primeira vez por Joost de Yoast em um de seus plugins (ele fez um ótimo escrever-se sobre isso também). A equipe da Envato trabalhou junto com ele para investigar o problema e descobriu que ele provavelmente afetou muito mais plugins do que apenas esse.
A equipe de pesquisa da Envato, juntamente com alguns amigos (especialmente Joost de Yoast) foram atravessando o repositório WordPress para os últimos dias, em uma tentativa de encontrar e alertar o maior número de desenvolvedores de plugins possível – para advertir e ajudá-los a corrigir o problema.
Divulgação coordenada
Essa vulnerabilidade foi inicialmente descoberto na semana passada, devido aos diferentes graus de gravidade e, mais importante, o grande volume de plugins afetados, coordenamos um lançamento de segurança conjunta com todos os desenvolvedores envolvidos e da equipe de segurança do núcleo WordPress. Foi ótimo trabalho em equipe, e uma experiência agradável de ver tantos desenvolvedores unida e trabalhando juntos para o bem comum. Podemos dizer que felizmente todos os plugins foram corrigidos, e a partir desta manhã atualizações devem estar disponíveis para todos os usuários. (sim, todo mundo empurrou suas atualizações em uníssono 2 horas atrás).
Se você usa WordPress, agora é a sua vez para atualizar seus plugins!
Se você habilitar as atualizações automáticas, o site já deve ser corrigido, especialmente nos casos mais graves.
Há mais plugins vulneráveis
A equipe da Envato apenas analisou os melhores 300-400 plugins, longe de todos eles como você pode imaginar. Portanto, há provavelmente um número de plugins ainda vulnerável. Se você é um desenvolvedor, verifique o seu código para ver como você é usar essas duas funções:
add_query_arg
remove_query_arg
Certifique-se de que você está escapando-los antes de usar. Recomendamos o uso de esc_url() ou (esc_url_raw()). Você não deve presumir que add_query_arg e remove_query_arg vai escapar a entrada do usuário. A equipe WordPress está fornecendo mais orientações sobre como usá-los aqui.
Tempo de Atualização!
Se você usar qualquer um desses plugins, certifique-se de atualizá-los agora! Vamos continuar a investigar e procurar mais plugins vulneráveis e manter a nossa lista aqui atual.
Este também é um bom momento para lembrar a todos que todos os softwares possuem erros e alguns desses bugs conduzirá inevitavelmente a vulnerabilidades de segurança, tal é a vida que vivemos. Isso se aplica a plugins, temas, servidores web, CMS de e basicamente tudo o que é escritos por pessoas e com base no código. Por mais que os desenvolvedores tentam minimizá-los e implantar princípios de codificação seguras, erros, inevitavelmente, ainda acontecem. Nós apenas temos que estar preparados e encontrar formas de minimizar o efeito de qualquer vulnerabilidade em seu ambiente; um exemplo perfeito dessa abordagem é o que você está vendo hoje com este lançamento de coordenadas.
Aqui estão algumas dicas e truques para se lembrar para ajudar a reduzir o seu risco global ameaça, ajudando a melhorar sua postura de segurança individual:
1 – Patch. Mantenha seus sites atualizados.
2- Restringir. Controle de acesso restritivo. Restringir o seu diretório wp-admin para apenas brancos endereços IP listados. Só dar acesso de administrador para usuários que realmente necessitam. Não faça login como admin a menos que você está realmente fazendo trabalho administrativo. Estes são alguns exemplos de políticas restritivas de controle de acesso que podem minimizar o impacto das vulnerabilidades em seu site.
3- Monitorar. Monitore seus logs. Eles podem lhe dar pistas para o que está acontecendo em seu site.
4- Reduza o seu âmbito de aplicação. Utilize apenas os plugins (ou temas) que seu site realmente necessita para funcionar.
5- Detectar. Prevenção pode falhar, por isso recomendamos digitalizar seu site para os indicadores de comprometimento ou software desatualizado. Nosso plugin e Sitecheck pode fazer isso de graça para você.
6- Defesa em Profundidade. Se você tem um Intrusion Prevention System (IPS) ou Web Application Firewall (WAF), eles podem ajudar a bloquear formas mais comuns de exploits de XSS. Você pode até tentar o nosso próprio CloudProxy para ajudá-lo com isso. Se você gosta da rota de fonte aberta, você pode tentar OSSEC, Snort e ModSecurity para ajudá-lo a conseguir isso.
Estes princípios são aplicados a maioria das redes seguras (ou em qualquer negócio que precisa ser compatível com PCI), mas vemos que muitos proprietários site não seguem essas recomendações.
Estas são apenas algumas recomendações de alto nível; recomendamos ir através do nosso blog para mais ideias sobre como manter seus sites seguros e à frente das ameaças.