---
id: "CVE-2026-120062"
kind: "vulnerability"
aliases: ["CVE-2026-120062"]
title: "psqlODBC: SQLSpecialColumns lets untrusted names run arbitrary SQL"
severity: "high"
cvss: 7.5
epss: null
exploited: false
status: "open"
category: "package"
products: []
ecosystems: []
tags: ["c", "node", "odbc", "package", "postgresql", "psqlodbc", "python"]
not_affected_if: ["fixed-table-names", "no-sqlspecialcolumns-calls"]
published_at: "2026-11-02T19:18:03+00:00"
first_seen_at: "2026-11-02T19:24:40+00:00"
updated_at: "2026-11-02T19:26:41+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-120062", "first_seen_at": "2026-11-02T19:24:40+00:00"}]
---

# psqlODBC: SQLSpecialColumns lets untrusted names run arbitrary SQL

psqlODBC, the PostgreSQL ODBC driver, puts table and schema names passed to SQLSpecialColumns into a catalog query without escaping them. An attacker who controls those names can run arbitrary SQL with the privileges of the database connection.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- Check the installed psqlODBC driver version (`psql --version` does not report it; look at the driver package or the ODBC driver entry in `odbcinst.ini`).
- Search application code for calls to `SQLSpecialColumns` and check whether table or schema names come from user input.

## Fix

- psqlODBC: move to `18.00.0006` or later.

## Timeline

- 2026-11-02T19:24:40+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-120062

## Documents

- [advisory] Vendor advisory: github.com https://github.com/postgresql-interfaces/psqlodbc/security/advisories/GHSA-gg8f-fx3w-rj33

## From the sources

SQLSpecialColumns in psqlODBC splices the table and schema names it receives into its catalog query without escaping them, while the other catalog functions escape them. An application that passes an untrusted table or schema name to SQLSpecialColumns lets the caller execute arbitrary SQL with the privileges of the connection. Versions before psqlODBC 18.00.0006 are affected.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
