Joomla Extension - balbooa.com - Unauthenticated file upload in Balbooa Forms extension < 2.4.1
Corrige ahora. Ella está bajo explotación confirmada por CISA y tiene exploit funcional público.
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
A extensão Balbooa Forms (com_baforms) para Joomla, até a versão 2.4.0, permite que qualquer visitante não autenticado envie um arquivo executável através do endpoint de upload de anexos do formulário, resultando em execução remota de código completa. É um zero-day: a exploração em massa começou antes de existir qualquer correção, foi identificada a partir de um relatório de abuso da Hetzner e o fornecedor corrigiu em menos de 24h, mas ataques contra instalações não atualizadas continuam.
Detalle técnico
A falha é um CWE-434 (Unrestricted Upload of File with Dangerous Type). O ponto de entrada é a tarefa de front-end index.php?option=com_baforms&task=form.uploadAttachmentFile, que na versão 2.4.0 não executava nenhuma verificação de autenticação nem chamada a Session::checkToken(), tornando o handler acessível a qualquer visitante anônimo e aceitando o arquivo bruto diretamente da requisição.
O controller passa o arquivo para a rotina do model FormModel::uploadAttachmentFile (por volta da linha 122 em FormModel.php, no lado front-end). Ali está o defeito central: a extensão do arquivo é derivada do nome enviado pelo atacante, o nome é sanitizado apenas com File::makeSafe() do Joomla — que remove caracteres perigosos mas não bloqueia extensões como .php — e depois o nome limpo é recombinado com a extensão original sem validação ($fileName = $name . '.' . $ext).
O resultado é gravado em images/baforms/uploads/form-/, diretório dentro do webroot que é servido diretamente e permite execução de PHP. Ou seja: o atacante controla integralmente o conteúdo e o nome/extensão do arquivo enviado, sem precisar de nenhuma credencial, token CSRF ou configuração fora do padrão — basta o site ter um formulário Balbooa acessível publicamente com upload de anexo habilitado.
Cómo se explota
O vetor é uma requisição POST direta ao endpoint de upload do com_baforms, sem necessidade de sessão, cookie de autenticação ou token CSRF válido. O pré-requisito real é apenas a extensão estar instalada e o handler de upload de anexos estar acessível — não há indicação de que dependa de configuração não padrão adicional. Isso eleva bastante o alcance da falha em relação a bugs de upload que normalmente exigem conta de editor ou administrador.
A exploração confirmada em campo foi descoberta a partir de um log de acesso real: uma requisição POST anômala ao handler de upload, seguida da gravação de um arquivo com extensão executável dentro de uma pasta pública e sua posterior invocação via navegador para disparar a execução. A cadeia completa — envio do arquivo, gravação no diretório servido, e execução ao ser requisitado — foi reproduzida pelos pesquisadores em ambiente de teste, mas nenhum PoC técnico foi publicado por eles.
Há divergência entre as fontes sobre a disponibilidade de PoC pública: o relato do achado original afirma que nenhuma prova de conceito foi divulgada publicamente, mas os metadados desta entrada indicam a existência de template Nuclei e PoC pública circulando, o que é compatível com a inclusão no catálogo KEV da CISA (confirmação de exploração ativa) e com um prazo de correção de apenas 3 dias definido pela CISA — indicativo de gravidade e disponibilidade de artefatos de exploração fora das fontes aqui analisadas.
Versiones
Cómo protegerse
Atualizar toda instalação do Balbooa Forms para a versão 2.4.1 ou superior imediatamente — o fornecedor lançou a correção em 9 de julho de 2026, no dia seguinte à notificação privada. Não é uma atualização para agendar em janela de manutenção; trate como incidente ativo.
Sites que permaneceram em 2.4.0 ou anteriores devem ser tratados como potencialmente comprometidos: verificar a pasta images/baforms/uploads/ (e subpastas form-/) por arquivos com extensão executável não esperada, revisar contas de administrador criadas fora do processo normal e inspecionar logs de acesso por requisições POST anômalas ao endpoint form.uploadAttachmentFile anteriores à atualização.
Como paliativo caso a atualização não seja possível de imediato: bloquear no servidor web a execução de scripts (PHP) dentro do diretório de uploads do Balbooa (images/baforms/uploads/), ou restringir/desativar via regra de proxy/WAF o acesso ao endpoint com_baforms&task=form.uploadAttachmentFile. Desativar a extensão inteiramente elimina o risco mas remove a funcionalidade de formulários com upload de anexo. Não confiar apenas em regras de WAF genéricas contra 'upload de webshell' como mitigação suficiente — a falha está no processamento de extensão do próprio código, não em um padrão de payload facilmente filtrável.
Cómo detectar
Procurar em logs de acesso web por requisições POST para index.php?option=com_baforms&task=form.uploadAttachmentFile originadas de IPs sem sessão administrativa prévia, especialmente com nomes de arquivo terminando em extensões executáveis (.php, .phtml, etc.) embutidos no parâmetro de nome do arquivo enviado. Verificar o diretório images/baforms/uploads/form-/ por arquivos com extensão de script que não correspondem a anexos legítimos de formulário (imagens, PDFs, documentos).
Como o exploit não deixa necessariamente um padrão de payload fixo — a falha está na lógica de extensão, não em uma assinatura de conteúdo — a ausência de arquivos suspeitos não garante que o site não foi visitado por tentativas de exploração; qualquer site que esteve em versão vulnerável e publicamente acessível deve ser considerado sob suspeita até auditoria completa de arquivos e contas.