← voltar
CVE-2026-48939criticalsob ataqueCWE-434

Joomla Extension - icagenda.com - Remote Code Execution in iCaganda extension for Joomla < 4.0.8/3.9.15

100Vexday Risk Score

Corrija agora. Ela está sob exploração confirmada pelo CISA e tem exploit funcional público.

ssvc Actcvss 10epss 83%
da publicação à arma9 dias
Publicada no NVD20 de jun.
1ª PoC+9d
CISA KEV+20d
probabilidade de exploração
83%top 1% das CVEs
exploração observada
simCISA + VulnCheck
4 exploit(s) público(s)
Ação exigida pela CISAprazo federal: 2026-07-13

Apply mitigations in accordance with vendor instructions, ensuring compliance with CISA’s BOD 26-04 Prioritizing Security Updates Based on Risk (see URL in Notes) guidance and CISA’s “Forensics Triage Requirements” (see URL in Notes). Follow applicable BOD 26-04 guidance for cloud services or discontinue use of the product if mitigations are unavailable. Stakeholders are responsible for evaluating each asset's internet exposure and ensuring adherence to BOD 26-04 patching guidelines.

Resumo

O componente iCagenda para Joomla permite que qualquer visitante não autenticado envie um arquivo PHP através do formulário público de submissão de eventos e o execute no servidor, resultando em comprometimento total. O CVSS 4.0 de 10.0 é justificado no cenário mais grave, mas a execução do PHP só ocorre em sites rodando Joomla 6 — em Joomla 2.5, 3, 4 e 5 o core bloqueia uploads inseguros por padrão, e o impacto se reduz a criação de eventos não aprovados sem login. A falha está no catálogo KEV da CISA com exploração ativa confirmada antes mesmo da divulgação pública completa.

Detalhamento técnico

Existem dois defeitos combinados na mesma funcionalidade. O primeiro é upload irrestrito de arquivo (CWE-434, classificação usada pela CISA no KEV): o formulário frontend 'Submit an Event' do iCagenda tem um campo de anexo cujo processamento grava o arquivo enviado com a extensão original, sem allowlist de extensões, sem verificação de MIME type e sem inspeção de conteúdo, diretamente em images/icagenda/frontend/attachments/ sob a raiz web pública.

O segundo defeito é controle de acesso inadequado (CWE-284, classificação usada no PoC do pesquisador): o iCagenda tem uma opção que restringe quem pode submeter eventos, normalmente configurada como 'Registered' (apenas usuários logados). Essa verificação é aplicada somente na view que decide se o formulário é exibido na tela — o controller que processa de fato a submissão, acessível em index.php?option=com_icagenda&task=registration.submit, nunca checa essa permissão. Isso significa que a restrição de acesso é cosmética: qualquer requisição POST direta ao endpoint de processamento contorna a exigência de login, independentemente da configuração do site.

O atacante controla o conteúdo do arquivo e sua extensão (o valor de jform[attachment]), o único fator fora de seu controle é se a instância de Joomla subjacente permite a execução do PHP resultante — o que, segundo o advisory do fornecedor (JoomliC), só acontece no Joomla 6, já que versões anteriores do core Joomla filtram uploads potencialmente perigosos por padrão nesse caminho.

Como é explorada

Não é necessária conta nem sessão autenticada. O atacante obtém um token de formulário CSRF de qualquer página pública do iCagenda (por exemplo, a lista de eventos) e envia uma requisição POST diretamente ao endpoint de processamento com um arquivo .php disfarçado de anexo. A opção 'Registered only' do componente não bloqueia essa requisição porque a checagem nunca chega ao controller.

Em sites rodando Joomla 6, o arquivo gravado em images/icagenda/frontend/attachments/ é executável: uma segunda requisição GET a esse caminho executa o PHP enviado, entregando execução remota de comando completa — leitura de dados, modificação de conteúdo, instalação de backdoor ou uso do servidor como pivô. Em Joomla 2.5, 3, 4 e 5, o mesmo bypass de autenticação existe, mas o core bloqueia a execução do upload malicioso; o resultado nesses casos é limitado à criação de eventos não aprovados por um visitante anônimo, um impacto bem menor que o sugerido pelo CVSS de 10.0.

Houve exploração ativa antes da divulgação pública completa: um pesquisador identificou em log de acesso de cliente um bot autoidentificado com User-Agent icagenda-batch/1.0 fazendo o upload seguido imediatamente de uma requisição ao arquivo enviado — padrão de quem já sabia exatamente onde bater. O próprio fornecedor (JoomliC) relatou ataques automatizados desde 15/06/2026, 08h UTC. A CISA incluiu a falha no catálogo KEV em 10/07/2026 com prazo de correção de apenas três dias (13/07/2026), sob a diretriz BOD 26-04 — prazo curtíssimo que reflete a gravidade e a exploração confirmada, não um risco teórico.

Versões

Afetadas
iCagenda 3.2.1 até 3.9.14 (linha 3.x) e 4.0.0 até 4.0.7 (linha 4.x)
Corrigidas em
4.0.8 (linha 4.x, lançada em 15/06/2026) e 3.9.15 (backport para a linha legada 3.x, lançada em 16/06/2026)

Como se proteger

Atualizar para iCagenda 4.0.8 (linha 4.x, lançada em 15/06/2026) ou 3.9.15 (linha 3.x legada, lançada em 16/06/2026) é a correção. Não há detalhamento técnico disponível sobre exatamente o que a versão corrigida altera no código de validação de upload ou no controller de submissão — apenas que ambos os problemas (upload sem restrição e bypass de controle de acesso) são endereçados nessas versões.

Se a atualização imediata não for possível, a única alternativa real documentada é remover ou renomear temporariamente a pasta do componente com_icagenda no servidor, o que elimina o vetor mas derruba toda a funcionalidade de calendário/eventos do site — custo alto, mas efetivo. Um mito que precisa ser desfeito explicitamente: despublicar o componente na área administrativa do Joomla NÃO protege contra a falha, porque o endpoint de processamento (task=registration.submit) permanece acessível independentemente do estado de publicação ou de o menu de submissão estar visível.

Dependência do core do Joomla não é mitigação suficiente: mesmo que o site rode uma versão do Joomla anterior à 6 (onde o upload malicioso não é executado), o bypass de controle de acesso continua ativo e permite criação de eventos não aprovados por qualquer visitante sem login — um problema de integridade que só a atualização do componente resolve.

Como detectar

Procurar em logs de acesso web por requisições POST para index.php?option=com_icagenda&task=registration.submit (ou variações com task=submit) contendo um campo jform[attachment] com extensão executável (.php, .phtml, etc.), seguidas de requisições GET para caminhos sob /images/icagenda/frontend/attachments/ com o mesmo padrão de nome de arquivo — especialmente se a URL contiver parâmetros suspeitos como ?cmd=. O User-Agent icagenda-batch/1.0 foi observado em ataques reais reportados pelo fornecedor e por pesquisadores, mas é trivialmente forjável pelo atacante; tratar como indicador adicional de triagem, não como confirmação isolada de comprometimento. Na ausência desses padrões nos logs, revisar diretamente o conteúdo da pasta de anexos por arquivos com extensão executável é o método mais confiável de detecção retroativa.

Pesquisado e redigido com IA a partir do advisory do fornecedor e de análises públicas, com as fontes acima. Confira sempre a versão corrigida no advisory oficial antes de agir.
A vulnerability in the iCagenda extension for Joomla allows the upload of arbitrary files in the file attachment feature, ultimately resulting in PHP code upload and execution.
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/E:A/AU:Y/U:Red
⚠ Recursos públicos, para você avaliar a exposição de sistemas que controla ou está autorizado a testar. Teste apenas com autorização.