← volver
CVE-2026-48939criticalbajo ataqueCWE-434

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

100Vexday Risk Score

Corrige ahora. Ella está bajo explotación confirmada por CISA y tiene exploit funcional público.

ssvc Actcvss 10epss 83%
de la publicación al arma9 días
Publicada en NVD20 jun
1ª PoC+9d
CISA KEV+20d
probabilidad de explotación
83%top 1% de las CVE
explotación observada
CISA + VulnCheck
4 exploit(s) público(s)
Acción exigida por CISAplazo 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.

Resumen

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.

Detalle 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.

Cómo se explota

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.

Versiones

Afectadas
iCagenda 3.2.1 até 3.9.14 (linha 3.x) e 4.0.0 até 4.0.7 (linha 4.x)
Corregidas en
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)

Cómo protegerse

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.

Cómo 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.

Investigado y redactado con IA a partir del advisory del fabricante y análisis públicos, con las fuentes citadas. Verifica siempre la versión corregida en el advisory oficial antes de actuar.
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 evaluar la exposición de sistemas que controlas o estás autorizado a probar. Prueba solo con autorización.