{"id":"CVE-2026-120057","kind":"vulnerability","aliases":["CVE-2026-120057"],"related":[],"title":"psqlODBC: large-object reads let a server overwrite client memory","description":"psqlODBC copies the reply to a large-object read (loread) into the application's buffer using the length sent by the server, without comparing it to the buffer size. A server not trusted under current SSL settings, or a man-in-the-middle, can return more bytes than the buffer holds and overwrite adjacent memory in the client process with server-chosen bytes. Fetching any large-object column is sufficient to trigger it. Versions before psqlODBC 18.00.0006 are affected.","summary":"psqlODBC, the PostgreSQL ODBC driver, copies a server's reply to a large-object read into the application's buffer without checking its size. A malicious or man-in-the-middle server can overwrite adjacent client memory with bytes it chooses.","severity":"high","cvss":7.5,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["odbc","package","postgresql","psqlodbc"],"not_affected_if":["no-large-objects","trusted-server-over-ssl","version-18.00.0006-or-later"],"how_to_check":"- Check the installed psqlODBC driver version and confirm whether it is below `18.00.0006`.\n- Check whether applications fetch large-object (lo) columns through the driver.\n- Check the SSL settings: the risk applies when the server is not trusted under the current SSL configuration.","fix":"- psqlODBC versions before `18.00.0006` are affected; move to `18.00.0006` or later.","status":"open","published_at":"2026-11-02T19:18:02+00:00","first_seen_at":"2026-11-02T19:24:39+00:00","triaged_at":"2026-11-02T19:26:42+00:00","updated_at":"2026-11-02T19:26:42+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-11-02T19:26:42Z","model":"claude-haiku-5-5","output":{"fix":"- psqlODBC versions before `18.00.0006` are affected; move to `18.00.0006` or later.","reach":"network","title":"psqlODBC: large-object reads let a server overwrite client memory","impact":"high","summary":"psqlODBC, the PostgreSQL ODBC driver, copies a server's reply to a large-object read into the application's buffer without checking its size. A malicious or man-in-the-middle server can overwrite adjacent client memory with bytes it chooses.","audience":"developers","category":"package","nicknames":[],"who_cares":["postgresql","psqlodbc","odbc"],"confidence":0.7,"fix_status":"available","needs_auth":"unknown","worst_case":"server-chosen bytes overwrite client process memory, possibly enabling code execution","analyst_note":"Confirm exploitability and the exact trigger conditions from the vendor advisory on github.com, and whether code execution is practical.","how_to_check":"- Check the installed psqlODBC driver version and confirm whether it is below `18.00.0006`.\n- Check whether applications fetch large-object (lo) columns through the driver.\n- Check the SSL settings: the risk applies when the server is not trusted under the current SSL configuration.","plain_action":"","needs_analyst":true,"not_affected_if":["no-large-objects","trusted-server-over-ssl","version-18.00.0006-or-later"],"who_is_affected":"Applications that connect to PostgreSQL through psqlODBC and read large-object columns are exposed, especially where the server is not fully trusted under the current SSL settings or traffic can be intercepted. Systems that never read large objects or only talk to fully trusted servers are less exposed, but the sources do not say this removes the risk.","user_interaction":"no","needs_special_setup":"unknown","severity_if_unknown":"high"},"cost_usd":0.000736,"input_tokens":4192,"output_tokens":633,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-120057':14A,17A '-2026':13A,16A '18.00.0006':145C 'adjac':58B,120C 'affect':147C 'applic':40B,78C 'buffer':42B,80C,93C,116C 'byte':62B,113C,130C 'check':44B 'choos':64B 'chosen':129C 'client':10A,59B,124C 'column':136C 'compar':89C 'copi':27B,66C 'current':100C 'cve':12A,15A 'driver':26B 'fetch':131C 'hold':117C 'larg':3A,35B,72C,134C 'large-object':2A,34B,71C,133C 'length':83C 'let':6A 'loread':75C 'malici':48B 'man':51B,106C 'man-in-the-middl':50B,105C 'memori':11A,60B,121C 'middl':54B,109C 'object':4A,36B,73C,135C 'odbc':18B,25B 'overwrit':9A,57B,119C 'packag':19B 'postgresql':20B,24B 'process':125C 'psqlodbc':1A,21B,22B,65C,144C 'read':5A,37B,74C 'repli':31B,68C 'return':111C 'sent':84C 'server':8A,29B,55B,87C,96C,128C 'server-chosen':127C 'set':102C 'size':46B,94C 'ssl':101C 'suffici':138C 'trigger':140C 'trust':98C 'use':81C 'version':142C 'without':43B,88C","nicknames":[],"mitigations":[],"who_affected":"Applications that connect to PostgreSQL through psqlODBC and read large-object columns are exposed, especially where the server is not fully trusted under the current SSL settings or traffic can be intercepted. Systems that never read large objects or only talk to fully trusted servers are less exposed, but the sources do not say this removes the risk.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"developers","plain_action":null,"pkeys":[],"ptokens":[],"labels":["high","odbc","package","postgresql","psqlodbc"],"first_public_at":"2026-11-02T19:18:02+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H","cvss_by":"f86ef6dc-4d3a-42ad-8f28-e6d5547a5007","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-120057","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-120057","severity":null,"published_at":"2026-11-02T19:18:02+00:00","modified_at":"2026-11-02T19:18:02+00:00","first_seen_at":"2026-11-02T19:24:39+00:00","fetched_at":"2026-11-02T19:24:39+00:00","note":null}],"documents":[{"id":53468,"url":"https://github.com/postgresql-interfaces/psqlodbc/security/advisories/GHSA-qhmr-5339-q33r","title":"Vendor advisory: github.com","kind":"vendor","source":"nvd","publisher":"vendor","text":null,"published_at":null,"relation":"advisory","confidence":null,"note":"Vendor advisory: github.com"}],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}