CVE-2026-116326
Description
A flaw was found in PostgreSQL. An authenticated user with permissions to create database objects can exploit uncaught exceptions within the PL/Perl language extension by supplying a crafted Perl object while an existing error is being handled. This issue leads to the reuse of stale memory buffers, potentially resulting in arbitrary code execution or a Denial of Service (DoS).
Statement
This vulnerability is rated as Important severity because an authenticated database user with privileges to execute or define PL/Perl functions could achieve arbitrary code execution within the context of the PostgreSQL backend process. However, the PL/Perl procedural language is an optional component that is not enabled by default on standard Red Hat Enterprise Linux PostgreSQL deployments. Environments that do not install the optional plperl subpackage or grant untrusted users access to PL/Perl are not exposed to this flaw.
Mitigation
Disable or restrict access to the PL/Perl extension in affected databases, or remove the optional PL/Perl package if not required.
1. Restrict PL/Perl language usage from untrusted database roles:
sql
REVOKE USAGE ON LANGUAGE plperl FROM PUBLIC;
REVOKE USAGE ON LANGUAGE plperlu FROM PUBLIC;
2. If PL/Perl is not required, drop the extension from affected databases:
sql
DROP EXTENSION IF EXISTS plperl CASCADE;
DROP EXTENSION IF EXISTS plperlu CASCADE;
3. Optionally, remove the RPM package providing the language integration:
bash
dnf remove postgresql-plperl
Caveats:
Revoking access or dropping the extension will break existing database stored procedures and functions that rely on PL/Perl.
Warning:
Database-level privilege and extension changes do not require restarting the postgresql service, but active client sessions should be terminated to enforce privilege revocations immediately.
Common Vulnerability Scoring System (CVSS) Score Details
Info alert:Important note
CVSS scores for open source components depend on vendor-specific factors (e.g. version or build chain). Therefore, Red Hat's score and impact rating can be different from NVD and other vendors. Red Hat remains the authoritative CVE Naming Authority (CNA) source for its products and services (see Red Hat classifications).
The following CVSS metrics and score provided are preliminary and subject to review.
CVSS v3 Score Breakdown
| Red Hat | NVD | cve.org | |
|---|---|---|---|
| Base Score | 8.8 | N/A | 8.8 |
| Attack Vector | Network | N/A | Network |
| Attack Complexity | Low | N/A | Low |
| Privileges Required | Low | N/A | Low |
| User Interaction | None | N/A | None |
| Scope | Unchanged | N/A | Unchanged |
| Confidentiality | High | N/A | High |
| Integrity Impact | High | N/A | High |
| Availability Impact | High | N/A | High |
Vector
Red Hat: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
cve.org: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Understanding the Weakness (CWE)
Confidentiality
Technical Impact: Read Memory
If the expired pointer is used in a read operation, an attacker might be able to control data read in by the application.
Availability
Technical Impact: DoS: Crash, Exit, or Restart
If the expired pointer references a memory location that is not accessible to the product, or points to a location that is "malformed" (such as NULL) or larger than expected by a read or write operation, then a crash may occur.
Integrity,Confidentiality,Availability
Technical Impact: Execute Unauthorized Code or Commands
If the expired pointer is used in a function call, or points to unexpected data in a write operation, then code execution may be possible.
Frequently Asked Questions
Not sure what something means? Check out our Security Glossary.
Want to get errata notifications? Sign up here.