
Análise técnica e advisory para CVE-2026-48908: Upload Arbitrário de Arquivos Não Autenticado para RCE no JoomShaper SP Page Builder.
Uma análise técnica abrangente de uma vulnerabilidade de execução remota de código não autenticada.
CVE-2026-48908 é uma vulnerabilidade de segurança crítica identificada na extensão JoomShaper SP Page Builder para Joomla. A vulnerabilidade reside em um endpoint desprotegido que aceita uploads fornecidos pelo usuário sem validar a autorização do usuário ou restringir eficazmente as extensões de arquivo.
A exploração bem-sucedida permite que atacantes remotos não autenticados gravem arquivos executáveis em diretórios web públicos, culminando no comprometimento total do servidor (Execução Remota de Código).
| Parâmetro | Detalhes |
|---|---|
| Tipo de Vulnerabilidade | Upload Arbitrário de Arquivos Não Autenticado (CWE-434) |
| Pontuação CVSS v3.1 | 9.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| Nível de Impacto | Crítico (Execução Remota de Código / Assunção Total do Sistema) |
| Vetor de Acesso | Rede / Remoto (Nenhuma Autenticação Necessária) |
[!NOTE] Esta descoberta de vulnerabilidade é o resultado de 6 a 7 meses de pesquisa de segurança dedicada, auditoria de código-fonte e mapeamento do comportamento de protocolo em extensões CMS.
timeline
title Disclosure Lifecycle
2026 Q1 : Source Code Auditing & Identification
: Edge-case Analysis & Flow Tracing
2026 Q2 : Proof-of-Concept Validation
: Responsible Vendor Disclosure
2026 Q3 : Patch Verification
: Public Advisory & CVE RegistrationO diagrama abaixo ilustra o fluxo operacional da falha, desde a solicitação até a execução:
sequenceDiagram
autonumber
actor Attacker as Remote Attacker
participant Endpoint as Upload Controller
participant Storage as Public Storage
participant Server as Web Server Process
Attacker->>Endpoint: POST request with malicious payload (No Auth)
Note over Endpoint: Missing Authorization Check<br/>& Loose MIME Validation
Endpoint->>Storage: Writes file to public path (/images/...)
Endpoint-->>Attacker: Returns success response & file path
Attacker->>Storage: GET request to uploaded file
Storage->>Server: Executes server-side code
Server-->>Attacker: Command execution output returnedO endpoint do controlador que lida com uploads de arquivos multipartes não possui verificações explícitas de privilégio (JFactory::getUser()->authorise()) e não exige tokens de sessão Anti-CSRF válidos. Consequentemente, solicitações HTTP não autenticadas alcançam a lógica central de gravação de arquivos.
A lógica de upload depende de cabeçalhos fornecidos pelo cliente ou de verificações permissivas de extensão, em vez de uma lista de permissões estrita no lado do servidor. Isso permite que extensões de script executáveis sejam salvas em diretórios configurados para execução web.
[!IMPORTANT] Administradores que utilizam versões afetadas devem atualizar imediatamente para a versão corrigida e aplicar políticas de execução no nível do servidor.
# Block script execution in writable media directories
location ~* ^/images/.*\.php$ {
deny all;
return 403;
}
.htaccess# Disable PHP execution inside upload paths
<Directory "/var/www/html/images">
<FilesMatch "\.(php|phtml|php3|php4|php5|php7|phps)$">
Order Deny,Allow
Deny from all
</FilesMatch>
</Directory>
Aviso Legal: Este repositório é publicado estritamente para fins educacionais, defensivos e de auditoria de segurança.