Um desvio de autenticação (CVE-2023-46805) e uma vulnerabilidade de injeção de comando (CVE-2024-21887) que afetam os produtos Ivanti foram divulgados e analisados recentemente pelo AttackerKB. Esta vulnerabilidade representa riscos significativos que podem levar a acesso não autorizado e controle sobre os sistemas afetados. Na seção a seguir, vamos discutir como essa vulnerabilidade pode ser explorada.
Conforme discutido em AttackerKB, o invasor pode enviar uma solicitação especialmente criada ao sistema de destino usando um comando como este:
Este comando visa um endpoint (/license/keys-status/) que geralmente é protegido por autenticação. No entanto, o invasor pode contornar a autenticação manipulando o URL para incluir /api/v1/totp/user-backup-code/../../license/keys-status/. Essa técnica é conhecida como travessia de diretório.
A vulnerabilidade existe na maneira como o sistema processa o parâmetro node_name. Se um invasor puder controlar o valor de node_name, ele poderá injetar comandos no sistema.
Explicação sobre "node_name": o parâmetro "node_name" é um componente do endpoint /api/v1/license/keys-status/path:node_name. É nesse endpoint que o problema principalmente ocorre.
O invasor pode enviar uma solicitação GET para o caminho URI /api/v1/totp/user-backup-code/../../license/keys-status/;CMD; onde CMD é qualquer comando que desejam executar. Usando um ponto e vírgula, eles podem especificar esse comando na solicitação. Para garantir que o comando seja processado corretamente pelo sistema, ele deve ser codificado para URL.
Outra vulnerabilidade de injeção de código foi identificada, conforme detalhado no post do blog do AttackerKB. Desta vez, envolve uma injeção de comando autenticada encontrada em uma parte diferente do sistema.
O mesmo conteúdo malicioso de shell reverso do Python usado na primeira injeção de comando pode ser empregado aqui, formando uma estrutura JSON para acionar a vulnerabilidade. Como o conteúdo malicioso está em JSON, ele não precisa ser codificado para URL:
Embora o endpoint /api/v1/system/maintenance/archiving/cloud-server-test-connection exija autenticação, um invasor pode contornar isso encadeando-o com a vulnerabilidade de passagem de diretório mencionada anteriormente. Ele pode construir um caminho URI não autenticado /api/v1/totp/user-backup-code/../../system/maintenance/archiving/cloud-server-test-connection para alcançar esse endpoint e explorar a vulnerabilidade.
O WAF da Cloudflare é suportado por uma camada adicional alimentada por IA chamada WAF Attack Score, que foi criada com o objetivo de detectar desvios de ataque antes mesmo de serem anunciados. O Attack Score fornece uma pontuação para indicar se a solicitação é maliciosa ou não; com foco em três categorias principais até agora: XSS, SQLi, e algumas variações de RCE (Injeção de Comando, ApacheLog4J, etc.). A pontuação varia de 1 a 99 e quanto menor a pontuação mais maliciosa é a solicitação. De modo geral, qualquer solicitação com pontuação abaixo de 20 é considerada maliciosa.
Analisar os resultados do exemplo de exploração acima de CVE-2023-46805 e CVE-2024-21887 usando o painel da Cloudflare (Segurança > Eventos). Os resultados da análise do Attack Score consistem em três pontuações individuais, cada uma rotulada para indicar sua relevância para uma categoria de ataque específica. Existe também uma pontuação global, a "WAF Attack Score", que considera o impacto combinado dessas três pontuações. Em alguns casos, a pontuação global é afetada por uma das subpontuações se o ataque corresponde a uma categoria. Aqui podemos ver que a subpontuação dominante é a "WAF RCE Attack Score" de execução remota de código.
Captura de tela do Security Events, destacando os resultados do WAF Attack Score mostrando o WAF Attack Score de 9
\n \n \n \n \n
Da mesma forma, para a solicitação de comando do sistema operacional não autenticada, recebemos o "WAF Attack Score: 19" do modelo de IA, que também se enquadra na categoria de solicitação maliciosa. Vale mencionar que as pontuações de exemplo não são números fixos e podem variar com base na variação do ataque de entrada.
A grande notícia aqui é: clientes nos planos Enterprise e Business com WAF Attack Score ativado, juntamente com uma regra para bloquear pontuações baixas (por exemplo, [cf.waf.score](https://developers.cloudflare.com/waf/about/waf-attack-score/#available-scores) le 20) ou ([cf.waf.score.class](https://developers.cloudflare.com/ruleset-engine/rules-language/fields/#field-cf-waf-score-class) eq "attack") para Business, já estavam protegidos contra possíveis explorações de vulnerabilidades que foram testadas até agora, antes mesmo de a vulnerabilidade ser anunciada.
Em resposta a esta vulnerabilidade crítica, a Cloudflare lançou as Regras de emergência em 17de janeiro de2024, 24 horas após a prova de conceito se tornar pública. Essas regras fazem parte das regras gerenciadas do WAF, visando especificamente as ameaças representadas pelo CVE-2023-46805 e uma vulnerabilidade adicional, a CVE-2024-21887, também relacionada aos produtos da Ivanti. As regras, chamadas "Ivanti - Auth Bypass, Command Injection - CVE:CVE-2023-46805, CVE:CVE-2024-21887", foram desenvolvidas para bloquear tentativas de exploração dessas vulnerabilidades, fornecendo uma camada extra de segurança para os usuários da Cloudflare.
Desde que implantamos essas regras, registramos um alto nível de atividade. No momento da redação deste artigo, a regra foi acionada mais de 180 mil vezes.
A resposta da Cloudflare a CVE-2023-46805 e CVE-2024-21887 ressalta a importância de ter medidas de segurança robustas em vigor. As organizações que usam os serviços da Cloudflare, particularmente o WAF, são aconselhadas a garantir que seus sistemas estejam atualizados com as regras e configurações mais recentes para manter a proteção ideal. Também recomendamos que os clientes implantem regras usando o Attack Score para melhorar sua postura de segurança. Se você quiser saber mais sobre o Attack Score, entre em contato com a equipe da sua conta.
A abordagem proativa da Cloudflare para a segurança cibernética usando IA para identificar e parar ataques, exemplificada por sua resposta a CVE-2023-46805 e CVE-2024-21887, destaca como ameaças e ataques podem ser identificados antes de serem tornados públicos e as vulnerabilidades divulgadas. Ao monitorar continuamente e responder rapidamente às vulnerabilidades, a Cloudflare garante que seus clientes permaneçam seguros em um cenário digital cada vez mais complexo.
"],"published_at":[0,"2024-01-23T14:00:48.000+00:00"],"updated_at":[0,"2024-10-09T23:26:52.175Z"],"feature_image":[0,"https://cf-assets.www.cloudflare.com/zkvhlag99gkb/6XNlW8W0y9HnbNybHD3OFa/0d275c8c0c7739547f65395c89b789ad/how-cloudflares-ai-waf-proactively-detected-ivanti-connect-secure-critical-zero-day-vulnerability.png"],"tags":[1,[[0,{"id":[0,"2pFyOCtANFB5qS6nbtQbVp"],"name":[0,"Vulnerabilities"],"slug":[0,"vulnerabilities"]}],[0,{"id":[0,"7gPQ1MtyU85B0FNCOHq6ju"],"name":[0,"WAF Rules"],"slug":[0,"waf-rules"]}],[0,{"id":[0,"lGCLqAT2SMojMzw5b6aio"],"name":[0,"WAF"],"slug":[0,"waf"]}],[0,{"id":[0,"5FlK9VPj1XH1161dsPRkec"],"name":[0,"WAF Attack Score"],"slug":[0,"waf-attack-score"]}],[0,{"id":[0,"2VoPLnnKPzSlQ9baSA9CfX"],"name":[0,"Zero Day Threats (PT)"],"slug":[0,"zero-day-threats"]}],[0,{"id":[0,"6h3TE7YtADO10hSjeJXH3l"],"name":[0,"AI WAF"],"slug":[0,"ai-waf"]}]]],"relatedTags":[0],"authors":[1,[[0,{"name":[0,"Himanshu Anand"],"slug":[0,"himanshu"],"bio":[0,"Making internet secure one bit at a time."],"profile_image":[0,"https://cf-assets.www.cloudflare.com/zkvhlag99gkb/5K3sXDpPy3yP7oGm32tCJi/8eeb44d64157b1861a7aafa4ebd99bd2/himanshu.png"],"location":[0,null],"website":[0,"https://himanshuanand.com"],"twitter":[0,"@anand_himanshu"],"facebook":[0,null]}],[0,{"name":[0,"Radwa Radwan"],"slug":[0,"radwa"],"bio":[0,null],"profile_image":[0,"https://cf-assets.www.cloudflare.com/zkvhlag99gkb/26ps7sSkjvnatLHbGNWuI9/42c3618ee2392f7d7a0dc5f335615fda/radwa.jpg"],"location":[0,"London"],"website":[0,null],"twitter":[0,"@RadwaRadwan__"],"facebook":[0,null]}],[0,{"name":[0,"Vaibhav Singhal"],"slug":[0,"vaibhav"],"bio":[0,null],"profile_image":[0,"https://cf-assets.www.cloudflare.com/zkvhlag99gkb/73SYW24GMd3nd0KKn9rv8I/9648de33df7a469bcd52e6cc2cf19766/vaibhav.png"],"location":[0,"San Francisco"],"website":[0,null],"twitter":[0,null],"facebook":[0,null]}]]],"meta_description":[0,"Prior to the vulnerabilities' announcement publicly, the WAF Attack Score AI model was able to identify the attack threats and assign scores indicating high maliciousness for the attack examples, particularly for the Remote Code Execution and Path Traversal attack categories. The issuance of Emergency Rules by Cloudflare on January 17, 2024, specifically addressing the two vulnerabilities helped give customers that do not take advantage of the AI model a big advantage."],"primary_author":[0,{}],"localeList":[0,{"name":[0,"How Cloudflare’s AI WAF proactively detected the Ivanti Connect Secure critical zero-day vulnerability Config"],"enUS":[0,"English for Locale"],"zhCN":[0,"Translated for Locale"],"zhHansCN":[0,"No Page for Locale"],"zhTW":[0,"Translated for Locale"],"frFR":[0,"Translated for Locale"],"deDE":[0,"Translated for Locale"],"itIT":[0,"No Page for Locale"],"jaJP":[0,"Translated for Locale"],"koKR":[0,"Translated for Locale"],"ptBR":[0,"Translated for Locale"],"esLA":[0,"No Page for Locale"],"esES":[0,"Translated for Locale"],"enAU":[0,"No Page for Locale"],"enCA":[0,"No Page for Locale"],"enIN":[0,"No Page for Locale"],"enGB":[0,"No Page for Locale"],"idID":[0,"No Page for Locale"],"ruRU":[0,"No Page for Locale"],"svSE":[0,"No Page for Locale"],"viVN":[0,"No Page for Locale"],"plPL":[0,"No Page for Locale"],"arAR":[0,"No Page for Locale"],"nlNL":[0,"No Page for Locale"],"thTH":[0,"No Page for Locale"],"trTR":[0,"No Page for Locale"],"heIL":[0,"No Page for Locale"],"lvLV":[0,"No Page for Locale"],"etEE":[0,"No Page for Locale"],"ltLT":[0,"No Page for Locale"]}],"url":[0,"https://blog.cloudflare.com/how-cloudflares-ai-waf-proactively-detected-ivanti-connect-secure-critical-zero-day-vulnerability"],"metadata":[0,{"title":[0,"Como o AI WAF da Cloudflare detectou proativamente a vulnerabilidade crítica de zero-day da Ivanti Connect Secure"],"description":[0,"Prior to the vulnerabilities' announcement publicly, the WAF Attack Score AI model was able to identify the attack threats and assign scores indicating high maliciousness for the attack examples, particularly for the Remote Code Execution and Path Traversal attack categories. The issuance of Emergency Rules by Cloudflare on January 17, 2024, specifically addressing the two vulnerabilities helped give customers that do not take advantage of the AI model a big advantage."],"imgPreview":[0,"https://cf-assets.www.cloudflare.com/zkvhlag99gkb/XKGgjZJ8HFOEZuDvXJVLf/2c8a5b183f831a781721d50bec78a25e/how-cloudflares-ai-waf-proactively-detected-ivanti-connect-secure-critical-zero-day-vulnerability-tlWJaE.png"]}]}],"locale":[0,"pt-br"],"translations":[0,{"posts.by":[0,"Por"],"footer.gdpr":[0,"RGPD"],"lang_blurb1":[0,"Este post também está disponível em {lang1}."],"lang_blurb2":[0,"Este post também está disponível em {lang1} e {lang2}."],"lang_blurb3":[0,"Este post também está disponível em {lang1}, {lang2} e {lang3}."],"footer.press":[0,"Imprensa"],"header.title":[0,"Blog da Cloudflare"],"search.clear":[0,"Apagar"],"search.filter":[0,"Filtrar"],"search.source":[0,"Origem"],"footer.careers":[0,"Carreiras"],"footer.company":[0,"Empresa"],"footer.support":[0,"Suporte"],"footer.the_net":[0,"theNet"],"search.filters":[0,"Filtros"],"footer.our_team":[0,"Nossa equipe"],"footer.webinars":[0,"Webinars"],"page.more_posts":[0,"Mais posts"],"posts.time_read":[0,"{time} min. de leitura"],"search.language":[0,"Idioma"],"footer.community":[0,"Comunidade"],"footer.resources":[0,"Recursos"],"footer.solutions":[0,"Soluções"],"footer.trademark":[0,"Marca registrada"],"header.subscribe":[0,"Assine"],"footer.compliance":[0,"Conformidade"],"footer.free_plans":[0,"Planos gratuitos"],"footer.impact_ESG":[0,"Impacto/ESG"],"posts.follow_on_X":[0,"Seguir no X"],"footer.help_center":[0,"Central de atendimento"],"footer.network_map":[0,"Mapa de rede"],"header.please_wait":[0,"Aguarde"],"page.related_posts":[0,"Posts relacionados"],"search.result_stat":[0,"Resultados {search_range} de {search_total} para {search_keyword}"],"footer.case_studies":[0,"Estudos de caso"],"footer.connect_2024":[0,"Connect 2024"],"footer.terms_of_use":[0,"Termos de serviço"],"footer.white_papers":[0,"Artigos técnicos"],"footer.cloudflare_tv":[0,"Cloudflare TV"],"footer.community_hub":[0,"Central da comunidade"],"footer.compare_plans":[0,"Compare planos"],"footer.contact_sales":[0,"Fale com vendas"],"header.contact_sales":[0,"Fale com vendas"],"header.email_address":[0,"e-mail"],"page.error.not_found":[0,"Página não encontrada"],"footer.developer_docs":[0,"Documentos para desenvolvedores"],"footer.privacy_policy":[0,"Política de privacidade"],"footer.request_a_demo":[0,"Solicite uma demonstração"],"page.continue_reading":[0,"Continue lendo"],"footer.analysts_report":[0,"Relatórios de analistas"],"footer.for_enterprises":[0,"Para empresas"],"footer.getting_started":[0,"Comece a usar"],"footer.learning_center":[0,"Central de aprendizagem"],"footer.project_galileo":[0,"Projeto Galileo"],"pagination.newer_posts":[0,"Posts mais recentes"],"pagination.older_posts":[0,"Posts mais antigos"],"posts.social_buttons.x":[0,"Debate no X"],"search.icon_aria_label":[0,"Pesquisar"],"search.source_location":[0,"Origem/localização"],"footer.about_cloudflare":[0,"Sobre a Cloudflare"],"footer.athenian_project":[0,"Projeto Athenian"],"footer.become_a_partner":[0,"Seja um parceiro"],"footer.cloudflare_radar":[0,"Cloudflare Radar"],"footer.network_services":[0,"Serviços de rede"],"footer.trust_and_safety":[0,"Confiança e segurança"],"header.get_started_free":[0,"Comece grátis"],"page.search.placeholder":[0,"Pesquisar na Cloudflare"],"footer.cloudflare_status":[0,"Status da Cloudflare"],"footer.cookie_preference":[0,"Preferências de cookies"],"header.valid_email_error":[0,"Deve ser um e-mail válido."],"search.result_stat_empty":[0,"Resultados {search_range} de {search_total}"],"footer.connectivity_cloud":[0,"Nuvem de conectividade"],"footer.developer_services":[0,"Serviços para desenvolvedores"],"footer.investor_relations":[0,"Relações com investidores"],"page.not_found.error_code":[0,"Código de erro: 404"],"search.autocomplete_title":[0,"Inserir uma consulta. Pressionar enter para enviar"],"footer.logos_and_press_kit":[0,"Logotipos e kit para a imprensa"],"footer.application_services":[0,"Serviços de aplicativos"],"footer.get_a_recommendation":[0,"Obtenha uma recomendação"],"posts.social_buttons.reddit":[0,"Debate no Reddit"],"footer.sse_and_sase_services":[0,"Serviços SASE e SSE"],"page.not_found.outdated_link":[0,"Talvez o link esteja desatualizado ou você tenha digitado o endereço incorreto."],"footer.report_security_issues":[0,"Denuncie problemas de segurança"],"page.error.error_message_page":[0,"Não encontramos a página que você está procurando."],"header.subscribe_notifications":[0,"Assine para receber notificações de novos posts:"],"footer.cloudflare_for_campaigns":[0,"Cloudflare para Campanhas"],"header.subscription_confimation":[0,"Assinatura confirmada. Agradecemos por assinar!"],"posts.social_buttons.hackernews":[0,"Debate no Hacker News"],"footer.diversity_equity_inclusion":[0,"Diversidade, equidade e inclusão"],"footer.critical_infrastructure_defense_project":[0,"Projeto de defesa de infraestrutura crítica"]}]}" ssr="" client="load" opts="{"name":"PostCard","value":true}" await-children="">
Em resposta às recentes vulnerabilidades críticas (CVE-2023-46805 e CVE-2024-21887), o WAF alimentado por IA da Cloudflare e as regras de emergência do WAF implementadas em 17 de janeiro de 2024 garantiram a proteção imediata do cliente...