← back
CVE-2026-56291criticalunder attackCWE-434

Joomla Extension - balbooa.com - Unauthenticated file upload in Balbooa Forms extension < 2.4.1

100Vexday Risk Score

Patch now. It under exploitation confirmed by CISA and has a working public exploit.

ssvc Actcvss 10epss 76%
from disclosure to weapon2 days
Published on NVDJul 9
1st PoC+2d
CISA KEV+1d
exploitation probability
76%top 1% of all CVEs
observed exploitation
yesCISA + VulnCheck
6 public exploit(s)
Action required by CISAfederal deadline: 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.

Summary

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.

Technical detail

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.

How it’s exploited

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.

Versions

Affected
Balbooa Forms para Joomla (com_baforms) até e incluindo a versão 2.4.0.
Fixed in
Versão 2.4.1, lançada em 9 de julho de 2026, corrige a falha.

How to protect

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.

How to detect

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.

Researched and written with AI from the vendor advisory and public analysis, with the sources above. Always confirm the fixed version in the official advisory before acting.
Joomla Extension - balbooa.com - Unauthenticated file upload in Balbooa Forms extension < 2.4.1 - The Joomla extension Balbooa Forms is vulnerable to an unauthenticated arbitrary file upload that allows uploading executable files and leads to full RCE.
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
⚠ Public resources, to assess the exposure of systems you control or are authorized to test. Test only with authorization.