ASA-2018-00050 – PostgreSQL: SQL injection via pg_upgrade e pg_dump


For the English version of this alert, click here.

Allele Security Alert

ASA-2018-00050

Identificador(es)

ASA-2018-00050, CVE-2018-16850

Título

SQL injection via pg_upgrade e pg_dump

Fabricante(s)

PostgreSQL

Produto(s)

PostgreSQL

Versão(ões) afetada(s)

PostgreSQL 10

PostgreSQL 11

Versão(ões) corrigida(s)

PostgreSQL 10.6

PostgreSQL 11.1

Prova de conceito

Desconhecido

Descrição

Usando uma definição de trigger criada propositalmente, um atacante pode executar requisições SQL arbitrárias com privilégios de super usuário quando um super usuário executar pg_upgrade no banco de dados ou durante um ciclo do pg_dump para dump/restore. Este ataque requer o privilégio CREATE em algum schema não temporário ou privilégio TRIGGER em uma tabela. Isto é explorável na configuração padrão do PostgreSQL, onde todos os usuários tem privilégio CREATE em um schema público.

Desde postgresql versão 10, quando criando um trigger você pode especificar um nome para habilitar relações de transições. Este nome, contudo, não é apropriadamente quoted ao realizar dump do banco de dados, permitindo injeção de código SQL no dump, que é executado posteriormente por um super usuário ao restaurar o banco de dados.

Créditos

Karl Czajkowski

Referência(s)

PostgreSQL 11.1, 10.6, 9.6.11, 9.5.15, 9.4.20, and 9.3.25 Released!
https://www.postgresql.org/about/news/1905/

Add missing quote_identifier calls for CREATE TRIGGER … REFERENCING.
https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=06292bb949e555f34edde7603237194a7daac942

Security: CVE-2018-16850
https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=2da33cbd52aaf5cbc4bc6c4e42e8879ee75a859d

BUG #15440: pg_dump does not preserve quoted identifiers for statement-level trigger transition table names
https://www.postgresql.org/message-id/15440-02d1468e94d63d76@postgresql.org

CVE-2018-16850
https://access.redhat.com/security/cve/CVE-2018-16850

CVE-2018-16850
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-16850

CVE-2018-16850
https://nvd.nist.gov/vuln/detail/CVE-2018-16850

Se encontrou algum erro neste alerta ou deseja uma análise compreensiva, entre em contato.

Última modificação: 26 de novembro de 2018