Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessGain local shell as low-priv user
-
DeliveryPredict victim's /tmp log filename (progname+user+PID)
-
ExploitPlant symlink at predictable path
-
ExecutionVictim runs psqlODBC with logging enabled
-
PersistDriver follows symlink, appends log with victim privileges
-
ImpactRead query text/data or corrupt targeted file
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V13 - Configuration Permission assignment review
|
| Exploitation Conditions | Requires all of: a Unix-like host, psqlODBC logging explicitly enabled (not the default state), and a local authenticated user account on the same machine as the victim. The driver writes logs to /tmp with predictable names derived from program name, user name, and process ID, using default (typically world-readable) permissions, and follows symlinks when opening them - so the concrete prerequisites are (a) a victim actively running psqlODBC with logging on, and (b) attacker ability to read the victim's log file or pre-place a symlink at the predictable /tmp path. Limiting factors: no remote vector (local only), the attacker must already be authenticated as a separate local user, logging is a non-default opt-in, and the symlink-append path depends on timing/predicting the victim's log filename, which drives the high attack complexity. Affected versions are those before psqlODBC 18.00.0006. |
| Impact | This is a moderate, locally-exploitable issue rather than an urgent priority. The CVSS 3.1 vector (AV:L/AC:H/PR:L/UI:N) confirms exploitation requires local access by an already-authenticated low-privileged user, with high attack complexity, which caps the base score at 5.3 (Medium). The vuln.today decision label is 'this_month' - not 'act_now' or 'emergency' - which is consistent with a local information-disclosure/file-tampering flaw. No EPSS score, no CISA KEV listing, and no PoC or exploit reference are present in the supplied data, so there is no signal of active exploitation or weaponization; absence of these is not itself an error, but it means the only exploitation evidence is the vendor (PostgreSQL) advisory describing the mechanism. The two impacts described - reading another user's query logs (C:H) and symlink-redirected log appending with the victim's privileges (I:L) - are real but depend on a victim actively running psqlODBC with logging enabled. Net: a legitimate issue to patch on a normal maintenance cycle, not a high-CVSS/low-real-risk false alarm, but also not an internet-facing emergency given the local attack vector and non-default logging requirement. |
| Exploit ScenarioDerived | On a shared Unix host, a logged-in local user pre-creates a symbolic link at the predictable /tmp log path that psqlODBC will use for another user, so that when the victim runs an ODBC-backed application with logging enabled the driver appends log data (containing query text and data) to an attacker-chosen file with the victim's privileges; alternatively the attacker simply reads the victim's world-readable log file directly. No public exploit code is identified in the available data, and high attack complexity reflects the dependence on the victim actively logging. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Nov 02, 2026
psqlODBC before 18.00.0006 on Unix-like systems can expose query text and data to other local users when logging is enabled, because log files are created in /tmp with predictable names and default permissions. A local authenticated attacker can read a victim's logs or pre-place a symbolic link at the predictable path so the driver appends log data to an attacker-chosen file with the victim's privileges. Exploitation requires logging to be explicitly enabled and a separate local account on the same host; no public exploit identified at time of analysis, and the issue is assessed as moderate rather than urgent.
RemediationAI
Vendor-released patch: upgrade to psqlODBC 18.00.0006 or later; the advisory at https://github.com/postgresql-interfaces/psqlodbc/security/advisories/GHSA-wj7r-6pj3-62g8 is the authoritative source for the fix and any configuration guidance. Because exposure requires logging to be explicitly enabled, disabling psqlODBC logging where it is not operationally required removes the file-creation path described in the advisory. The available evidence does not describe a supported setting for relocating the default /tmp log location, so verify current vendor guidance before relying on path changes.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
psqlODBC is the PostgreSQL ODBC driver. On Unix-like systems, when logging is enabled, the driver creates log files in /tmp by default, naming them from the program name, user name, and process ID, using default permissions that are typically world-readable, and follows symbolic links when opening those files. The root cause class is CWE-732 (Incorrect Permission Assignment for Critical Resource): the driver creates sensitive log files in a shared directory with insecure default permissions and predictable names. The combination of predictable filename, world-readable defaults, and symlink-following open enables information disclosure from another user's logs and arbitrary file append with the victim's privileges. The CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:L/A:N vector confirms a local attack requiring low privileges, no user interaction, high confidentiality impact, and low integrity impact; the high attack complexity reflects the need to predict or time the victim's log filename for the symlink-append path. The trigger requires a Unix-like host, logging explicitly enabled (not the default state), and a local authenticated attacker account on the same machine as the victim. The CPE cpe:2.3:a:postgresql:psqlodbc:*:*:*:*:*:*:*:* identifies psqlODBC releases as the affected product.
Know when Psqlodbc gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:L/A:N
Local co-tenant attack (AV:L) by an authenticated user (PR:L); success depends on the victim logging at a predictable path (AC:H); discloses full log contents (C:H) and allows limited log-append file tampering (I:L), no availability impact.
Primary rating from Vendor (PostgreSQL).
CVSS VectorVendor: PostgreSQL
Lifecycle Timeline
1DescriptionCVE.org
On Unix-like systems, when logging is enabled, psqlODBC creates its log files in /tmp by default, named from the program name, user name, and process ID, with the default permissions, typically world-readable, and follows symbolic links when opening them. A local user can read query text and data from another user's logs, and can place a symbolic link at the predictable path so that the driver appends log data to a file of the attacker's choosing with the victim's privileges. Versions before psqlODBC 18.00.0006 are affected.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Out-of-bounds reads and writes in psqlODBC before 18.00.0006 arise when a host application forwards untrusted column num
SQL injection in psqlODBC before 18.00.0006 allows an attacker who can influence a table or schema name passed by a host
A stack-based buffer overflow (CWE-121) in the psqlODBC driver, the official PostgreSQL ODBC driver, lets attacker-influ
Heap out-of-bounds write in the psqlODBC driver (CWE-787) affects all versions before 18.00.0006 and is reachable only w
A heap buffer overflow in psqlODBC's large-object read path lets a malicious or man-in-the-middle PostgreSQL server over
SQL injection in psqlODBC before 18.00.0006 can let an authenticated database user who can create a table that an applic
Format-string handling in psqlODBC before 18.00.0006 can crash applications or disclose client memory when an updatable
Heap memory corruption in psqlODBC versions before 18.00.0005 can be triggered when an application binds 32,769 or more
A stack-based buffer overflow in psqlODBC, the PostgreSQL ODBC driver, affects all releases before 18.00.0006 when updat
Stack buffer over-write in psqlODBC before 18.00.0006 can corrupt an application process that forwards attacker-influenc
Client-side crash and limited out-of-bounds read affect psqlODBC before 18.00.0006 when the driver connects to a Postgre
EUVD-2026-115379
NVD
CVE.org
GitHub
Exploit-DB