PT-2022-4318 · Postgresql+7 · Postgresql Jdbc Driver+7

Avecramer

+1

·

Publicado

2022-08-03

·

Atualizado

2025-03-18

·

CVE-2022-31197

CVSS v3.1

8.0

Alta

VetorAV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H
Nome do software vulnerável e versões afetadas
Versões do driver JDBC do PostgreSQL anteriores à 42.2.26
Versões do driver JDBC do PostgreSQL anteriores à 42.4.1
Descrição
A implementação do método java.sql.ResultRow.refreshRow() pelo PGJDBC não realiza o escapamento dos nomes das colunas, permitindo que um nome de coluna malicioso que contenha um terminador de instrução, por exemplo, ;, leve a uma injeção de SQL. Isso pode resultar na execução de comandos SQL adicionais como usuário JDBC do aplicativo. Aplicativos de usuário que não invocam o método ResultSet.refreshRow() não são afetados. Aplicativos de usuário que invocam esse método são afetados se o banco de dados subjacente que estão consultando por meio de seu aplicativo JDBC estiver sob o controle de um invasor. O ataque requer que o invasor induza o usuário a executar SQL contra um nome de tabela cujos nomes de colunas contenham o SQL malicioso e, subsequentemente, invoque o método refreshRow() no ResultSet.
Recomendações
Para versões anteriores à 42.2.26, atualize para a versão 42.2.26 ou posterior.
Para versões anteriores à 42.4.1, atualize para a versão 42.4.1 ou posterior.
Como solução alternativa temporária, considere não usar o método ResultSet.refreshRow().
Se o método ResultSet.refreshRow() for usado, certifique-se de que o código que executa esse método não se conecte a um banco de dados controlado por um usuário não autenticado ou mal-intencionado.

Exploit

Correção

SQL injection

Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾

Enumeração de Fraquezas

Identificadores relacionados

ALSA-2023:0318
ALSA-2023_0318
ALT-PU-2023-8458
ALT-PU-2023-8462
ALT-PU-2024-16562
BDU:2022-05174
BIT-POSTGRESQL-JDBC-DRIVER-2022-31197
CVE-2022-31197
DLA-3140-1
DLA-3995-1
GHSA-R38F-C4H4-HQQ2
OESA-2022-1835
OPENSUSE-SU-2022_3537-1
OPENSUSE-SU-2022_3613-1
OPENSUSE-SU-2024:12369-1
RHSA-2023:0318
RHSA-2023_0318
RLSA-2023:0318
SUSE-SU-2022:3537-1
SUSE-SU-2022:3541-1
SUSE-SU-2022:3613-1
SUSE-SU-2022:3705-1
SUSE-SU-2022_3537-1
SUSE-SU-2022_3541-1
SUSE-SU-2022_3613-1

Produtos afetados

Alt Linux
Almalinux
Astra Linux
Bitbucket
Postgresql Jdbc Driver
Red Hat
Rocky Linux
Suse