flawopen.com/Incidentes/PostgreSQL CVE-2025-1094

CVE-2025-1094: quando a própria função de sanitização era a vulnerabilidade

High Severity CWE-89: SQL Injection Disclosed February 2025
ELI5 (Explicado de Forma Simples)

Imagine um tradutor cuja única função é colocar aspas ao redor de tudo o que você fala para que ninguém confunda sua fala com uma ordem do sistema. Você descobre que, se falar uma letra de um alfabeto desconhecido, ele se confunde e esquece de fechar a aspa. Agora sua frase vira um comando executável diretamente no computador.

The lessons that actually transfer

FAQ

Does this mean escaping functions can't be trusted?

It means they are ordinary software with ordinary bugs, and that relying on them puts a correctness burden in a place where a single mistake is exploitable. Parameterised queries avoid the burden entirely, which is why they remain the primary recommendation.

Was my application vulnerable if I use an ORM?

Most ORMs and modern drivers use the extended query protocol with bound parameters rather than libpq's escaping helpers, which sidesteps the flaw. The exposure was concentrated in code that explicitly called the escape functions or shelled out to psql. Patching the client library is still the correct action.

Which versions fixed it?

PostgreSQL 17.3, 16.7, 15.11, 14.16 and 13.19, released on 13 February 2025.

Related reading

Fontes e comunicados oficiais