Cyber 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 90th percentile
Risk Priority 75 floored blend · peak EPSS

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 Path Interception by PATH Environment Variable (T1574.007); ranked in the top 10% 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

T1574.007 Path Interception by PATH Environment Variable Stealth
Adversaries may execute their own malicious payloads by hijacking environment variables used to load libraries.
T1547.004 Winlogon Helper DLL Persistence
Adversaries may abuse features of Winlogon to execute DLLs and/or executables when a user logs in.
T1547.014 Active Setup Persistence
Adversaries may achieve persistence by adding a Registry key to the Active Setup of the local machine.
T1574 Hijack Execution Flow Stealth
Adversaries may execute their own malicious payloads by hijacking the way operating systems run programs.
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.
T1574.012 COR_PROFILER Stealth
Adversaries may leverage the COR_PROFILER environment variable to hijack the execution flow of programs that load the .
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2024-7348Same product: Postgresql Postgresql
CVE-2026-6575Same product: Postgresql Postgresql
CVE-2026-6472Same product: Postgresql Postgresql
CVE-2024-4317Same product: Postgresql Postgresql
CVE-2026-6476Same product: Postgresql Postgresql
CVE-2026-6638Same product: Postgresql Postgresql
CVE-2024-0985Same product: Postgresql Postgresql
CVE-2026-6474Same product: Postgresql Postgresql
CVE-2026-6473Same product: Postgresql Postgresql
CVE-2026-6477Same 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)
  • 7 hardening rules · 3 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.

PR.PS-01 mostly match
prevents

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

PR.PS-06 mostly match
prevents

Secure development practices directly require input validation and reference sanitization that prevent externally-controlled resource references.

DE.CM-09 partial match
prevents

Runtime monitoring of software and data flows can detect anomalous external resource accesses that result from this weakness.

ID.RA-07 partial match
prevents

Formal change and exception management catches externally driven configuration alterations.

PR.AA-05 partial match
prevents

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

PR.IR-01 partial match
prevents

Network segmentation and access controls limit the blast radius when an external reference escapes its intended sphere.

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.

degrades

Configuration management directly prevents external tampering with system settings.

prevents

Access rights assignment determines who may change system settings.

prevents

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

finds

Security testing can detect instances of the weakness but does not prevent it at design or coding time.

prevents

Information access restriction limits who can view or modify configuration data.

prevents

Change management enforces controlled, authorized modifications to settings.

Hardening callouts derived

Configuration rules from DISA STIG baselines that bear on weaknesses of the type cited by this CVE. Each rule is shown with the relationship its mapping actually records, against the CWE it was authored against. Derived via CVE→CWE over `controls_xwalks` (authoritative rows only; rows rated `none` are excluded).

Oracle Linux 8 (1 rule)
  • V-248577 OL 8 must enable kernel parameters to enforce Discretionary Access Control (DAC) on symlinks. prevents CWE-610

References