{"id":"CVE-2026-120150","kind":"vulnerability","aliases":["CVE-2026-120150"],"related":[],"title":"PostgreSQL: use-after-free in domain checks lets a creator run code","description":"Use after free in PostgreSQL expanded-record domain checks allows an object creator to execute arbitrary code as the operating system user running the database, via repeated checks of a domain over a composite type that cause reuse of a dangling memory-context pointer.  Versions before PostgreSQL 18.7, 17.12, 16.16, 15.20, and 14.25 are affected.","summary":"A memory-handling bug in PostgreSQL's expanded-record domain checks lets a user who can create database objects run arbitrary code. The code runs as the operating system user that runs the database server.","severity":"high","cvss":8.8,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["database","postgresql","runtime","self-hosted"],"not_affected_if":["managed-hosting","patched-version"],"how_to_check":"- Run `SELECT version();` in psql and compare against the fixed releases below.\n- Check the PostgreSQL major version with `postgres --version`.","fix":"- PostgreSQL `18.7`\n- PostgreSQL `17.12`\n- PostgreSQL `16.16`\n- PostgreSQL `15.20`\n- PostgreSQL `14.25`","status":"open","published_at":"2026-11-12T15:17:43+00:00","first_seen_at":"2026-11-12T15:41:56+00:00","triaged_at":"2026-11-12T15:43:07+00:00","updated_at":"2026-11-12T15:43:07+00:00","category":"runtime","confidence":0.7,"triage":{"at":"2026-11-12T15:43:07Z","model":"claude-haiku-5-5","output":{"fix":"- PostgreSQL `18.7`\n- PostgreSQL `17.12`\n- PostgreSQL `16.16`\n- PostgreSQL `15.20`\n- PostgreSQL `14.25`","reach":"local","title":"PostgreSQL: use-after-free in domain checks lets a creator run code","impact":"high","summary":"A memory-handling bug in PostgreSQL's expanded-record domain checks lets a user who can create database objects run arbitrary code. The code runs as the operating system user that runs the database server.","audience":"businesses","category":"runtime","nicknames":[],"who_cares":["postgresql","self-hosted","database"],"confidence":0.7,"fix_status":"available","needs_auth":"yes","worst_case":"Code runs as the database server's operating system user.","analyst_note":"","how_to_check":"- Run `SELECT version();` in psql and compare against the fixed releases below.\n- Check the PostgreSQL major version with `postgres --version`.","plain_action":"","product_name":"","needs_analyst":false,"not_affected_if":["patched-version","managed-hosting"],"who_is_affected":"Servers running PostgreSQL versions before 18.7, 17.12, 16.16, 15.20, or 14.25 are affected. The attacker must be able to create objects in the database, such as domains and composite types, so databases where only trusted administrators can create objects are lower risk. Managed hosting providers patch on their own schedule, so check their notices.","user_interaction":"no","product_ecosystem":"","needs_special_setup":"no","severity_if_unknown":"high"},"cost_usd":0.000728,"input_tokens":4576,"output_tokens":540,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-120150':16A,19A '-2026':15A,18A '14.25':117C '15.20':115C '16.16':114C '17.12':113C '18.7':112C 'affect':119C 'allow':73C 'arbitrari':48B,79C 'bug':30B 'caus':100C 'check':8A,38B,72C,91C 'code':13A,49B,51B,80C 'composit':97C 'context':107C 'creat':44B 'creator':11A,76C 'cve':14A,17A 'dangl':104C 'databas':20B,45B,61B,88C 'domain':7A,37B,71C,94C 'execut':78C 'expand':35B,69C 'expanded-record':34B,68C 'free':5A,65C 'handl':29B 'host':25B 'let':9A,39B 'memori':28B,106C 'memory-context':105C 'memory-handl':27B 'object':46B,75C 'oper':55B,83C 'pointer':108C 'postgresql':1A,21B,32B,67C,111C 'record':36B,70C 'repeat':90C 'reus':101C 'run':12A,47B,52B,59B,86C 'runtim':22B 'self':24B 'self-host':23B 'server':62B 'system':56B,84C 'type':98C 'use':3A,63C 'use-after-fre':2A 'user':41B,57B,85C 'version':109C 'via':89C","nicknames":[],"mitigations":[],"who_affected":"Servers running PostgreSQL versions before 18.7, 17.12, 16.16, 15.20, or 14.25 are affected. The attacker must be able to create objects in the database, such as domains and composite types, so databases where only trusted administrators can create objects are lower risk. Managed hosting providers patch on their own schedule, so check their notices.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"businesses","plain_action":null,"pkeys":[],"ptokens":[],"labels":["database","high","postgresql","runtime","selfhosted"],"campaign_type":null,"search_a":"'-120150':16A,19A '-2026':15A,18A 'check':8A 'code':13A 'creator':11A 'cve':14A,17A 'domain':7A 'free':5A 'let':9A 'postgresql':1A 'run':12A 'use':3A 'use-after-fre':2A","search_b":"'arbitrari':48B 'bug':30B 'check':38B 'code':49B,51B 'creat':44B 'databas':20B,45B,61B 'domain':37B 'expand':35B 'expanded-record':34B 'handl':29B 'host':25B 'let':39B 'memori':28B 'memory-handl':27B 'object':46B 'oper':55B 'postgresql':21B,32B 'record':36B 'run':47B,52B,59B 'runtim':22B 'self':24B 'self-host':23B 'server':62B 'system':56B 'user':41B,57B","search_c":"'14.25':117C '15.20':115C '16.16':114C '17.12':113C '18.7':112C 'affect':119C 'allow':73C 'arbitrari':79C 'caus':100C 'check':72C,91C 'code':80C 'composit':97C 'context':107C 'creator':76C 'dangl':104C 'databas':88C 'domain':71C,94C 'execut':78C 'expand':69C 'expanded-record':68C 'free':65C 'memori':106C 'memory-context':105C 'object':75C 'oper':83C 'pointer':108C 'postgresql':67C,111C 'record':70C 'repeat':90C 'reus':101C 'run':86C 'system':84C 'type':98C 'use':63C 'user':85C 'version':109C 'via':89C","cause_entry":null,"cause_path":null,"disclosures_checked_at":null,"first_public_at":"2026-11-12T15:17:43+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/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-120150","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-120150","severity":null,"published_at":"2026-11-12T15:17:43+00:00","modified_at":"2026-11-12T15:17:43+00:00","first_seen_at":"2026-11-12T15:41:56+00:00","fetched_at":"2026-11-12T15:41:56+00:00","note":null}],"documents":[],"disclosures":[],"exploit_sources":[],"notice":"Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai"}