CVE-2026-116319: PostgreSQL plperl reentrant return_next() use-after-free executes arbitrary code
Use after free in PostgreSQL plperl allows an object creator to execute arbitrary code as the operating system user running the database, via reentrant returnnext() calls. Versions before PostgreSQL 18.7, 17.12, 16.16, 15.20, and 14.25 are affected.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
PostgreSQLto a version that resolves this vulnerability.Fixed in 18.7 - Upgrade
Upgrade
PostgreSQLto a version that resolves this vulnerability.Fixed in 17.12 - Upgrade
Upgrade
PostgreSQLto a version that resolves this vulnerability.Fixed in 16.16 - Upgrade
Upgrade
PostgreSQLto a version that resolves this vulnerability.Fixed in 15.20 - Upgrade
Upgrade
PostgreSQLto a version that resolves this vulnerability.Fixed in 14.25
Event History
Frequently Asked Questions
Which PostgreSQL deployments are affected?
Deployments using versions before PostgreSQL 18.7, 17.12, 16.16, 15.20, or 14.25 are affected.
What level of access does an attacker need?
An attacker needs privileges to create the relevant object. Exploitation uses reentrant return_next() calls in plperl.
What is the potential impact of successful exploitation?
Successful exploitation can execute arbitrary code as the operating system user running the PostgreSQL database.