Security Resilience

CVE-2024-10979

Postgresql 12.0 – 12.21

Public PoC
Published
14 November 2024
Modified
03 November 2025
Patch / advisory
CVSS Score v3.1 8.8
Click a component to see what it means
Raw vectorCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
EPSS Score 0.044 91th percentile
Risk Priority 75 floored blend · peak EPSS

CVSS and EPSS are reproduced from their sources (NVD, FIRST EPSS). Risk Priority is our own derived reading, not an NVD score.

Summary

CVE-2024-10979 is a high-severity External Control of System or Configuration Setting (CWE-15) vulnerability in Postgresql Postgresql. Its CVSS base score is 8.8 (High).

Operationally, exploitation aligns with the MITRE ATT&CK technique Winlogon Helper DLL (T1547.004); ranked in the top 9% of CVEs by exploit likelihood; it is not currently listed in the CISA KEV catalog; a public proof-of-concept is referenced.

The strongest mitigations our analysis identified map to AC-3 (Access Enforcement) and AC-4 (Information Flow Enforcement) — see the control section below for these in your framework.

Deeper analysis AI-assisted summary

Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.

CVE-2024-10979 is an incorrect control of environment variables vulnerability in PostgreSQL's PL/Perl extension. It affects all versions prior to 17.1, 16.5, 15.9, 14.14, 13.17, and 12.21, allowing modification of sensitive process variables such as PATH. The flaw is tracked under CWE-15 and CWE-610 and carries a CVSS 3.1 score of 8.8.

An unprivileged database user can exploit the issue over the network to alter environment variables and achieve arbitrary code execution on the underlying operating system, without requiring a local server account. The attack requires low complexity and no user interaction, enabling privilege escalation from database access to host-level control.

Official advisories from PostgreSQL, Debian LTS, and NetApp direct users to apply the listed patched releases immediately. They also recommend reviewing and restricting PL/Perl usage for untrusted roles and limiting environment-variable inheritance where feasible.

EPSS for the CVE rose from a low baseline to a peak of 0.1571 on 2025-12-11 before receding to the current value of 0.0636, indicating a period of increased exploitation interest after disclosure.

OWASP Top 10 for Web (2025)

EU & UK References

Vulnerability Data

Incorrect control of environment variables in PostgreSQL PL/Perl allows an unprivileged database user to change sensitive process environment variables (e.g. PATH). That often suffices to enable arbitrary code execution, even if the attacker lacks a database server operating system user.…

more

Versions before PostgreSQL 17.1, 16.5, 15.9, 14.14, 13.17, and 12.21 are affected.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise Techniques

T1547.004 Winlogon Helper DLL Persistence
Adversaries may abuse features of Winlogon to execute DLLs and/or executables when a user logs in.
T1574.006 Dynamic Linker Hijacking Stealth
Adversaries may execute their own malicious payloads by hijacking environment variables the dynamic linker uses to load shared libraries.
T1001.001 Junk Data Command And Control
Adversaries may add junk data to protocols used for command and control to make detection more difficult.
T1003 OS Credential Dumping Credential Access
Adversaries may attempt to dump credentials to obtain account login and credential material, normally in the form of a hash or a clear text password.
T1003.003 NTDS Credential Access
Adversaries may attempt to access or create a copy of the Active Directory domain database in order to steal credential information, as well as obtain other information about domain members such as devices, users, and access rights.
T1003.005 Cached Domain Credentials Credential Access
Adversaries may attempt to access cached domain credentials used to allow authentication to occur in the event a domain controller is unavailable.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2026-2004Same product: Postgresql Postgresql
CVE-2026-2003Same product: Postgresql Postgresql
CVE-2024-10977Same product: Postgresql Postgresql
CVE-2026-2005Same product: Postgresql Postgresql
CVE-2026-2007Same product: Postgresql Postgresql
CVE-2026-2006Same product: Postgresql Postgresql
CVE-2026-18408Same product: Postgresql Postgresql
CVE-2026-6464Same product: Postgresql Postgresql
CVE-2026-14676Same product: Postgresql Postgresql
CVE-2026-14670Same product: Postgresql Postgresql

Affected Assets

postgresql
postgresql
12.0 — 12.21 · 13.0 — 13.17 · 14.0 — 14.14

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)

—

Detect
Catch it (NIST detect / respond)

—

Harden
Shrink the surface (DISA STIG)
  • 4 hardening rules · 2 OS baselines
Validate
Prove the fix (OWASP ASVS)

—

Mitigating Controls (NIST 800-53 r5) AI

Enforces approved authorizations for logical access to configuration resources so external parties cannot alter them.

Enforces documented access restrictions on all changes to system configuration, directly blocking unauthorized external control of settings.

Controls information flow between security domains, blocking resolution of external references to unintended spheres.

Limits privileges to the minimum needed, reducing the set of users who can externally modify configuration.

Validates information inputs, directly stopping externally controlled names or references from being accepted.

Monitors and controls boundary communications, limiting the ability of external references to reach protected resources.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

ID.RA-07 partial match
blocks

Formal change and exception management catches externally driven configuration alterations.

PR.AA-05 partial match
blocks

Least-privilege access policies reduce unauthorized external modification of configuration values.

PR.PS-01 partial match
blocks

Hardened configuration baselines and change controls directly limit external manipulation of settings.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

blocks

A.5.15 only requires that access control policies and rules be defined and documented; it does not itself enforce, implement or configure those rules to stop external control of system/configuration settings, so the weakness remains fully exploitable.

blocks

A.5.18 governs the provisioning, review, and revocation of authorized access rights; it has no bearing on whether a system or configuration setting can be externally controlled by a user (CWE-15).

degrades

Documented operating procedures define how configuration changes must be performed.

blocks

Use of privileged utility programs is controlled to prevent misuse of configuration tools.

blocks

Privileged access rights reduce the number of users who can alter configuration.

Hardening callouts derived

DISA STIG baselines are authored against specific weaknesses. Where this CVE cites a broad weakness class, the mapping is not asserted at that abstraction (owner ruling, 2026-09-25: grade only at Base and below), so no rule is shown here rather than a rule shown against the wrong grain.

  • No fine-grained STIG row for CWE-610, a class-level weakness, and none of its children carries one either.

References