Falha Crítica no PHP Permite SQL Injection

Uma vulnerabilidade grave no PHP pode expor sites e aplicações a ataques de SQL Injection. Para evitar riscos, é altamente recomendável atualizar para as versões mais recentes do PHP imediatamente.

A falha, identificada como CVE-2022-31631 (CVSS 9.1), afeta as versões anteriores a 8.0.27, 8.1.15 e 8.2.2. O problema ocorre na função PDO::quote() ao interagir com SQLite, comprometendo a sanitização de entradas antes de consultas ao banco de dados, o que pode abrir brechas para ataques.

O erro é causado por um estouro de inteiro (integer overflow): quando uma string muito longa é processada, pode haver falha na escape dos dados, permitindo a execução de consultas maliciosas. A raiz do problema está na diferença de tratamento entre o PHP e o SQLite, onde a função sqlite3_snprintf() usa um inteiro de 32 bits, enquanto o PHP trabalha com um zend_long, que geralmente tem 64 bits em sistemas modernos. Isso pode resultar na inserção incorreta de apóstrofos, comprometendo a segurança.

Embora sistemas de 32 bits sejam menos impactados, arquiteturas de 64 bits são especialmente vulneráveis. Em certos cenários, essa falha pode permitir que invasores manipulem o banco de dados, roubem informações sensíveis ou até comprometam o servidor.

Diante do risco elevado, recomenda-se que usuários do PHP atualizem para as versões corrigidas (8.0.27, 8.1.15 ou 8.2.2 e superiores) e reforcem a sanitização de entradas para evitar ataques, garantindo a segurança das aplicações.

BLOG