CVE-2023-30545: exposição de informação no PrestaShop — SQL Manager e função LOAD_FILE
PrestaShop e CVE-2023-30545: explico a falha de exposição de informação em SQL Manager e função LOAD_FILE, o impacto real, as versões afetadas e os passos para corrigir sem complicar a tua loja.

// nesta página (8)
Se tens uma loja PrestaShop, há uma diferença entre estar a correr uma versão antiga e estar realmente exposto a uma falha concreta. A CVE-2023-30545 é um aviso de segurança relacionado com SQL Manager e função LOAD_FILE. Vou explicar o que foi identificado, que condições importam e como podes agir sem transformar uma atualização numa dor de cabeça.
O que aconteceu?
Um utilizador com acesso ao SQL Manager podia obter ficheiros do sistema através de SELECT e LOAD_FILE, conforme as permissões da BD.
O problema foi identificado numa funcionalidade associada ao PrestaShop. A presença do ponto de entrada, os direitos necessários e a configuração podem alterar a exposição, por isso não convém tratar todas as instalações como iguais.
O detalhe técnico: como funciona a falha
Uma exposição de informação pode nascer de um ficheiro colocado no pacote, uma pasta acessível por HTTP, uma resposta da API ou permissões excessivas no sistema de ficheiros. Nem todos os dados expostos são credenciais; caminhos internos, logs e documentos de clientes também são relevantes.
A investigação deve confirmar que tipo de informação podia ser obtida, quem tinha acesso e desde quando. Bloquear uma pasta por .htaccess pode ajudar em Apache, mas num servidor Nginx precisas de configurar a restrição no próprio Nginx: a correção depende da infraestrutura.
Qual é o impacto real?
Em determinadas condições, o problema pode permitir divulgação de dados, ficheiros ou detalhes internos que não deveriam estar públicos. Isso não significa que a loja já tenha sido atacada, nem que todas as instalações possam ser exploradas da mesma forma. A gravidade depende da versão, da configuração, da autenticação necessária e dos direitos que o processo tem no servidor.
Também convém distinguir o alcance do núcleo da aplicação do alcance de um módulo de terceiros: uma falha numa extensão não transforma automaticamente todas as lojas PrestaShop em alvos vulneráveis.
Que versões estão afetadas?
- Componente: SQL Manager e função LOAD_FILE
- Versões abrangidas no registo: anterior a 1.7.8.9; 8.0 anterior a 8.0.4
- Versão de correção: 1.7.8.9 e 8.0.4
- Divulgação do registo: 2023-04-25
Estes dados servem para fazer a primeira triagem. Se usas overrides, patches próprios ou versões personalizadas, verifica também o código realmente instalado. O número de versão apresentado no back office nem sempre conta a história toda.
Como corrigir a CVE-2023-30545?
- Inventaria a instalação. Regista a versão do PrestaShop, a versão do módulo quando aplicável e o ambiente PHP. Confirma se usas SQL Manager e função LOAD_FILE.
- Compara as versões. O registo refere como afetadas: anterior a 1.7.8.9; 8.0 anterior a 8.0.4. Cruza este dado com o aviso do fabricante: condições especiais podem limitar o impacto.
- Cria um backup completo. Inclui ficheiros, base de dados e configurações, e ensaia a intervenção numa cópia de staging quando possível.
- Aplica a correção. A versão com correção indicada para este registo é 1.7.8.9 e 8.0.4. Se já estás num ramo mais recente, confirma no aviso oficial que a correção está incluída na tua release e que todos os módulos estão atualizados.
- Testa o que interessa. Valida login, carrinho, checkout, área de cliente, back office, emails e integrações usadas pela loja.
- Revê a exposição anterior. Não basta a correção funcionar; se a falha esteve acessível, olha para os logs e para alterações inesperadas.
Como saber se houve uma tentativa de exploração?
Verifica os logs de downloads, anexos e pedidos aos caminhos afetados. Confirma as permissões do servidor e analisa o acesso a segredos e ficheiros de clientes. Se houver indícios concretos de exposição de credenciais, planeia a rotação dessas credenciais.
Se utilizas Cloudflare ou outra WAF, considera-a uma camada de mitigação: não substitui a atualização do código vulnerável.
Ponto de atenção para developers
A verificação do código deve começar no componente indicado acima. Segue a origem dos dados recebidos por HTTP (Tools::getValue(), pedidos AJAX, uploads ou headers), identifica onde entram numa operação sensível e confirma se existem validações no servidor. Verifica também se os overrides e módulos próprios reintroduzem o mesmo padrão, mesmo depois de aplicar o patch oficial.
E se não quiser mexer sozinho na loja?
Uma intervenção segura não é apenas clicar em «atualizar». É perceber as dependências, preparar rollback, aplicar o patch adequado e garantir que o negócio continua a funcionar.
Queres que verifique e resolva esta vulnerabilidade na tua loja PrestaShop? Posso analisar as versões e os módulos, validar a exposição, aplicar as correções e testar as funcionalidades principais. Fala comigo e vemos a melhor forma de tratar disso, com calma e sem alarmismos.
Nota editorial: o conteúdo explica a informação pública disponível e não constitui prova de exploração da tua loja. Sempre que o aviso não confirma uma versão corrigida, essa limitação é assinalada expressamente.
// Fontes
- Registo CVE — CVE-2023-30545 cve.org ↗
- PrestaShield — base de vulnerabilidades PrestaShop prestashield.com ↗