CVE-2026-116309 PUBLISHED

PostgreSQL plperl blessed-reference type confusion may execute arbitrary code

Assigner: PostgreSQL
Reserved: 26.10.2026 Published: 12.11.2026 Updated: 12.11.2026

Type confusion in PostgreSQL plperl may allow an object creator to execute arbitrary code, via blessing a non-hash reference into PostgreSQL::InServer::ARRAY. We have not confirmed or ruled out a way to control the pointer sufficiently to achieve security impact, but we are proceeding as though that is possible. Versions before PostgreSQL 18.7, 17.12, 16.16, 15.20, and 14.25 are affected.

Metrics

CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS Score: 8.8

Product Status

Vendor n/a
Product PostgreSQL
Versions Default: unaffected
  • affected from 18 to 18.7 (excl.)
  • affected from 17 to 17.12 (excl.)
  • affected from 16 to 16.16 (excl.)
  • affected from 15 to 15.20 (excl.)
  • affected from 0 to 14.25 (excl.)

Affected Configurations

Attacker has permission to "CREATE EXTENSION plperl", or another user previously issued that. Attacker has permission to create objects (temporary objects or non-temporary objects in at least one schema).

Credits

  • The PostgreSQL project thanks Zheng Yu for reporting this problem.

References

Problem Types

  • Access of Resource Using Incompatible Type ('Type Confusion') CWE