Cloudanix VulnDB

CVE-2024-45770

Medium · 4.4

CVSS

4.4

EPSS

0.3%

Published

Sep 19, 2024

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A system logging tool can accidentally give extra powers to someone who already has limited access, making it easier for them to reach more of the system.

Chainable
Exploitation
Local Privilege
Attacker needs
Low Privilege
Complexity
Low
Impact
Privilege Gain
Component
Application
Class
Privilege Escalation
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

The pmpost tool can execute with elevated privileges when logging messages under certain conditions, allowing privilege escalation from an already-compromised low-privileged PCP system account.

Why it matters to the business

Attackers who gain initial limited access can expand their control over the system, increasing the risk of data exposure or further compromise in environments using the affected component.

How an attack unfolds

An attacker with access to a compromised PCP system account triggers the pmpost tool under conditions that cause it to run with high-level privileges, resulting in local privilege escalation.

How to fix it

Upgrade golang.org/x/net to version 0.7.0 or later; apply vendor patches for Performance Co-Pilot to address the pmpost privilege issue.

How to confirm the fix worked

Verify the installed version of golang.org/x/net meets or exceeds 0.7.0 and confirm PCP updates have been applied through package management or configuration checks.

Typical attack path

  1. Obtain access to a compromised PCP system account
  2. Craft inputs or conditions to invoke pmpost
  3. Trigger execution with elevated privileges to perform unauthorized actions

How to detect it

Examine system logs for unusual pmpost invocations or privilege changes originating from PCP-related accounts; review authentication and process execution history for the affected component.

What your security team should do

  • Prioritize patching golang.org/x/net and PCP in all affected deployments due to the local privilege escalation risk
  • Review system accounts with PCP access for signs of compromise
  • Monitor for unexpected privilege changes in logging processes

The record

A vulnerability was found in Performance Co-Pilot (PCP). This flaw can only be exploited if an attacker has access to a compromised PCP system account. The issue is related to the pmpost tool, which is used to log messages in the system. Under certain conditions, it runs with high-level privileges.

Affected packages

Ecosystem Package Introduced Fixed
AlmaLinux:8 pcp 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-conf 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-devel 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-doc 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-export-pcp2elasticsearch 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-export-pcp2graphite 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-export-pcp2influxdb 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-export-pcp2json 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-export-pcp2spark 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-export-pcp2xml 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-export-pcp2zabbix 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-export-zabbix-agent 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-gui 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-import-collectl2pcp 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-import-ganglia2pcp 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-import-iostat2pcp 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-import-mrtg2pcp 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-import-sar2pcp 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-libs 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-libs-devel 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-activemq 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-apache 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-bash 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-bcc 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-bind2 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-bonding 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-bpftrace 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-cifs 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-cisco 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-dbping 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-denki 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-dm 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-docker 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-ds389 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-ds389log 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-elasticsearch 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-gfs2 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-gluster 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-gpfs 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-gpsd 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-hacluster 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-haproxy 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-infiniband 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-json 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-libvirt 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-lio 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-lmsensors 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-logger 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-lustre 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-lustrecomm 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-mailq 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-memcache 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-mic 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-mongodb 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-mounts 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-mssql 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-mysql 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-named 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-netcheck 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-netfilter 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-news 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-nfsclient 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-nginx 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-nvidia-gpu 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-openmetrics 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-openvswitch 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-oracle 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-pdns 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-perfevent 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-podman 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-postfix 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-postgresql 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-rabbitmq 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-redis 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-roomtemp 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-rsyslog 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-samba 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-sendmail 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-shping 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-slurm 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-smart 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-snmp 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-sockets 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-statsd 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-summary 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-systemd 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-trace 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-unbound 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-weblog 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-zimbra 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-pmda-zswap 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-selinux 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-system-tools 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-testsuite 0 5.3.7-22.el8_10
AlmaLinux:8 pcp-zeroconf 0 5.3.7-22.el8_10
AlmaLinux:8 perl-PCP-LogImport 0 5.3.7-22.el8_10
AlmaLinux:8 perl-PCP-LogSummary 0 5.3.7-22.el8_10
AlmaLinux:8 perl-PCP-MMV 0 5.3.7-22.el8_10
AlmaLinux:8 perl-PCP-PMDA 0 5.3.7-22.el8_10
AlmaLinux:8 python3-pcp 0 5.3.7-22.el8_10
AlmaLinux:9 pcp 0 6.2.0-5.el9_4
AlmaLinux:9 pcp 0 6.2.2-7.el9_5.alma.1
AlmaLinux:9 pcp-conf 0 6.2.0-5.el9_4
AlmaLinux:9 pcp-conf 0 6.2.2-7.el9_5.alma.1
AlmaLinux:9 pcp-devel 0 6.2.0-5.el9_4
AlmaLinux:9 pcp-devel 0 6.2.2-7.el9_5.alma.1
AlmaLinux:9 pcp-doc 0 6.2.0-5.el9_4
AlmaLinux:9 pcp-doc 0 6.2.2-7.el9_5.alma.1
AlmaLinux:9 pcp-export-pcp2elasticsearch 0 6.2.0-5.el9_4
AlmaLinux:9 pcp-export-pcp2elasticsearch 0 6.2.2-7.el9_5.alma.1
AlmaLinux:9 pcp-export-pcp2graphite 0 6.2.0-5.el9_4
AlmaLinux:9 pcp-export-pcp2graphite 0 6.2.2-7.el9_5.alma.1
AlmaLinux:9 pcp-export-pcp2influxdb 0 6.2.0-5.el9_4
AlmaLinux:9 pcp-export-pcp2influxdb 0 6.2.2-7.el9_5.alma.1
AlmaLinux:9 pcp-export-pcp2json 0 6.2.0-5.el9_4
AlmaLinux:9 pcp-export-pcp2json 0 6.2.2-7.el9_5.alma.1
AlmaLinux:9 pcp-export-pcp2openmetrics 0 6.2.2-7.el9_5.alma.1
AlmaLinux:9 pcp-export-pcp2spark 0 6.2.0-5.el9_4
AlmaLinux:9 pcp-export-pcp2spark 0 6.2.2-7.el9_5.alma.1
AlmaLinux:9 pcp-export-pcp2xml 0 6.2.0-5.el9_4
AlmaLinux:9 pcp-export-pcp2xml 0 6.2.2-7.el9_5.alma.1
AlmaLinux:9 pcp-export-pcp2zabbix 0 6.2.0-5.el9_4
AlmaLinux:9 pcp-export-pcp2zabbix 0 6.2.2-7.el9_5.alma.1
AlmaLinux:9 pcp-export-zabbix-agent 0 6.2.0-5.el9_4
AlmaLinux:9 pcp-export-zabbix-agent 0 6.2.2-7.el9_5.alma.1
AlmaLinux:9 pcp-geolocate 0 6.2.0-5.el9_4
AlmaLinux:9 pcp-geolocate 0 6.2.2-7.el9_5.alma.1
AlmaLinux:9 pcp-gui 0 6.2.0-5.el9_4
AlmaLinux:9 pcp-gui 0 6.2.2-7.el9_5.alma.1
AlmaLinux:9 pcp-import-collectl2pcp 0 6.2.0-5.el9_4
AlmaLinux:9 pcp-import-collectl2pcp 0 6.2.2-7.el9_5.alma.1
AlmaLinux:9 pcp-import-ganglia2pcp 0 6.2.0-5.el9_4
AlmaLinux:9 pcp-import-ganglia2pcp 0 6.2.2-7.el9_5.alma.1
AlmaLinux:9 pcp-import-iostat2pcp 0 6.2.0-5.el9_4
AlmaLinux:9 pcp-import-iostat2pcp 0 6.2.2-7.el9_5.alma.1
AlmaLinux:9 pcp-import-mrtg2pcp 0 6.2.0-5.el9_4
AlmaLinux:9 pcp-import-mrtg2pcp 0 6.2.2-7.el9_5.alma.1
AlmaLinux:9 pcp-import-sar2pcp 0 6.2.0-5.el9_4
AlmaLinux:9 pcp-import-sar2pcp 0 6.2.2-7.el9_5.alma.1
AlmaLinux:9 pcp-libs 0 6.2.0-5.el9_4
AlmaLinux:9 pcp-libs 0 6.2.2-7.el9_5.alma.1
AlmaLinux:9 pcp-libs-devel 0 6.2.0-5.el9_4
AlmaLinux:9 pcp-libs-devel 0 6.2.2-7.el9_5.alma.1
AlmaLinux:9 pcp-pmda-activemq 0 6.2.0-5.el9_4
AlmaLinux:9 pcp-pmda-activemq 0 6.2.2-7.el9_5.alma.1
AlmaLinux:9 pcp-pmda-apache 0 6.2.0-5.el9_4
AlmaLinux:9 pcp-pmda-apache 0 6.2.2-7.el9_5.alma.1
AlmaLinux:9 pcp-pmda-bash 0 6.2.0-5.el9_4
AlmaLinux:9 pcp-pmda-bash 0 6.2.2-7.el9_5.alma.1
AlmaLinux:9 pcp-pmda-bcc 0 6.2.0-5.el9_4
AlmaLinux:9 pcp-pmda-bcc 0 6.2.2-7.el9_5.alma.1
AlmaLinux:9 pcp-pmda-bind2 0 6.2.0-5.el9_4
AlmaLinux:9 pcp-pmda-bind2 0 6.2.2-7.el9_5.alma.1
AlmaLinux:9 pcp-pmda-bonding 0 6.2.0-5.el9_4
AlmaLinux:9 pcp-pmda-bonding 0 6.2.2-7.el9_5.alma.1
AlmaLinux:9 pcp-pmda-bpf 0 6.2.0-5.el9_4
AlmaLinux:9 pcp-pmda-bpf 0 6.2.2-7.el9_5.alma.1
AlmaLinux:9 pcp-pmda-bpftrace 0 6.2.0-5.el9_4
AlmaLinux:9 pcp-pmda-bpftrace 0 6.2.2-7.el9_5.alma.1
AlmaLinux:9 pcp-pmda-cifs 0 6.2.0-5.el9_4
AlmaLinux:9 pcp-pmda-cifs 0 6.2.2-7.el9_5.alma.1
AlmaLinux:9 pcp-pmda-cisco 0 6.2.0-5.el9_4
AlmaLinux:9 pcp-pmda-cisco 0 6.2.2-7.el9_5.alma.1
AlmaLinux:9 pcp-pmda-dbping 0 6.2.0-5.el9_4
AlmaLinux:9 pcp-pmda-dbping 0 6.2.2-7.el9_5.alma.1
AlmaLinux:9 pcp-pmda-denki 0 6.2.0-5.el9_4
AlmaLinux:9 pcp-pmda-denki 0 6.2.2-7.el9_5.alma.1
AlmaLinux:9 pcp-pmda-dm 0 6.2.0-5.el9_4
AlmaLinux:9 pcp-pmda-dm 0 6.2.2-7.el9_5.alma.1
AlmaLinux:9 pcp-pmda-docker 0 6.2.0-5.el9_4
AlmaLinux:9 pcp-pmda-docker 0 6.2.2-7.el9_5.alma.1
AlmaLinux:9 pcp-pmda-ds389 0 6.2.0-5.el9_4
AlmaLinux:9 pcp-pmda-ds389 0 6.2.2-7.el9_5.alma.1
AlmaLinux:9 pcp-pmda-ds389log 0 6.2.0-5.el9_4
AlmaLinux:9 pcp-pmda-ds389log 0 6.2.2-7.el9_5.alma.1
AlmaLinux:9 pcp-pmda-elasticsearch 0 6.2.0-5.el9_4
AlmaLinux:9 pcp-pmda-elasticsearch 0 6.2.2-7.el9_5.alma.1
AlmaLinux:9 pcp-pmda-farm 0 6.2.0-5.el9_4
AlmaLinux:9 pcp-pmda-farm 0 6.2.2-7.el9_5.alma.1
AlmaLinux:9 pcp-pmda-gfs2 0 6.2.0-5.el9_4
AlmaLinux:9 pcp-pmda-gfs2 0 6.2.2-7.el9_5.alma.1
AlmaLinux:9 pcp-pmda-gluster 0 6.2.0-5.el9_4
AlmaLinux:9 pcp-pmda-gluster 0 6.2.2-7.el9_5.alma.1
AlmaLinux:9 pcp-pmda-gpfs 0 6.2.0-5.el9_4
AlmaLinux:9 pcp-pmda-gpfs 0 6.2.2-7.el9_5.alma.1
AlmaLinux:9 pcp-pmda-gpsd 0 6.2.0-5.el9_4
AlmaLinux:9 pcp-pmda-gpsd 0 6.2.2-7.el9_5.alma.1
AlmaLinux:9 pcp-pmda-hacluster 0 6.2.0-5.el9_4
AlmaLinux:9 pcp-pmda-hacluster 0 6.2.2-7.el9_5.alma.1
AlmaLinux:9 pcp-pmda-haproxy 0 6.2.0-5.el9_4
AlmaLinux:9 pcp-pmda-haproxy 0 6.2.2-7.el9_5.alma.1
AlmaLinux:9 pcp-pmda-infiniband 0 6.2.0-5.el9_4
AlmaLinux:9 pcp-pmda-infiniband 0 6.2.2-7.el9_5.alma.1
AlmaLinux:9 pcp-pmda-json 0 6.2.0-5.el9_4
AlmaLinux:9 pcp-pmda-json 0 6.2.2-7.el9_5.alma.1
AlmaLinux:9 pcp-pmda-libvirt 0 6.2.0-5.el9_4
AlmaLinux:9 pcp-pmda-libvirt 0 6.2.2-7.el9_5.alma.1
AlmaLinux:9 pcp-pmda-lio 0 6.2.0-5.el9_4
AlmaLinux:9 pcp-pmda-lio 0 6.2.2-7.el9_5.alma.1
AlmaLinux:9 pcp-pmda-lmsensors 0 6.2.0-5.el9_4

Related vulnerabilities