PHP corrige falha no filtro FILTER_SANITIZE_ENCODED ao tratar o byte 0xFF
O que fazer
Já existe versão mais nova do PHP: a 8.5.11, de 24/09, inclui estas correções. Ver aviso
- Afeta
- PHP 8.2 a 8.5, antes da versão corrigida de cada série
- Quem faz
- Hospedagem e revenda: nada a fazer, a Rapid Cloud atualiza o PHPVPS e Cloud: você atualiza o PHP do servidor
- Ação
- Atualizar para a versão corrigida da sua série:8.2.348.3.358.4.268.5.11
- PrazoVPS e Cloud
- Até 01/10já passouPor causa do aviso mais novo, de gravidade alta. Se ainda não atualizou o servidor, atualize agora.
- Exploração
- Pela internet · sem login · sem ação da vítima · só em condições específicas
Tenho VPS ou Cloud: como atualizar
- Atualize o PHP para a versão corrigida da sua série; no cPanel, pelos pacotes ea-php do EasyApache 4.
- Reinicie o PHP-FPM (ou o servidor web) para carregar a versão nova.
Comandos
- Atualizar
sudo dnf upgrade 'ea-php*'cPanel com EasyApache 4 - Conferir
php -v
Ficou com dúvida?Falar com o suporte
O que aconteceu
O PHP publicou uma correção de gravidade baixa (CVSS 3.7) na extensão de filtros. O filtro FILTER_SANITIZE_ENCODED, usado para codificar texto em formato de URL, pode deixar passar o byte 0xFF sem codificá-lo, porque essa decisão depende de um valor de memória não inicializado. São afetadas as versões anteriores a 8.2.34, 8.3.35, 8.4.25 e 8.5.10, e a correção está nessas versões.
Gerado por IA a partir do aviso do fornecedor em . Em caso de divergência, vale o original.Ler na fonte (github.com)
Trecho do aviso original, em inglês
php_filter_encode_url() builds a 256-entry lookup table that decides which bytes FILTER_SANITIZE_ENCODED percent-encodes, but initialises only the first 255 entries. Entry 255 is read uninitialised, so whether the byte 0xFF is encoded or passed through depends on whatever happened to be on the stack. The table is filled with memset(tmp, 1, sizeof(tmp) - 1), which leaves tmp[255] untouched…
Trecho curto, reproduzido para referência.Texto completo em github.com
Título original e fonte
ENext/filter: encode 0xFF in FILTER_SANITIZE_ENCODED
Versões
| Série | Afetadas | Corrigida em |
|---|---|---|
| 8.5 | anterior à 8.5.10 | 8.5.10 |
| 8.4 | anterior à 8.4.25 | 8.4.25 |
| 8.3 | anterior à 8.3.35 | 8.3.35 |
| 8.2 | anterior à 8.2.34 | 8.2.34 |
O que são esses termos?
- CVSS
- Nota de 0 a 10 que mede a gravidade técnica de uma falha. De 9 a 10 é crítica; de 7 a 8,9, alta; de 4 a 6,9, média; abaixo de 4, baixa.
- Exploração
- Como a falha pode ser explorada: pela internet ou só com acesso ao servidor, com ou sem login, com ou sem ajuda de alguém.
- Prazo
- Prazo recomendado para quem precisa agir, contado da publicação. Crítica ou KEV: imediatamente; Alta: em até 7 dias; Média: em até 30 dias; Baixa: na próxima atualização de rotina; Sem nota oficial: em até 7 dias. Vale para o que é do site (WordPress e plugins) em qualquer plano e, no que é do servidor, só para VPS e Cloud: na hospedagem e na revenda, quem atualiza o servidor é a Rapid Cloud.