CVE-2019-19725

9.8 CRITICAL

📋 TL;DR

CVE-2019-19725 is a double-free vulnerability in sysstat's sa_common.c that allows memory corruption. Attackers can exploit this to potentially execute arbitrary code or cause denial of service. Systems running sysstat versions through 12.2.0 are affected.

💻 Affected Systems

Products:
  • sysstat
Versions: All versions through 12.2.0
Operating Systems: Linux, Unix-like systems
Default Config Vulnerable: ⚠️ Yes
Notes: Vulnerability exists in check_file_actlst function when processing activity files

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Remote code execution with root privileges leading to complete system compromise

🟠

Likely Case

Denial of service through application crash or local privilege escalation

🟢

If Mitigated

Limited impact if sysstat runs with minimal privileges and memory protections are enabled

🌐 Internet-Facing: LOW - sysstat is typically used locally for system monitoring
🏢 Internal Only: MEDIUM - attackers with local access could exploit this for privilege escalation

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Exploitation requires local access to trigger the double-free condition

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 12.2.1 and later

Vendor Advisory: https://github.com/sysstat/sysstat/issues/242

Restart Required: No

Instructions:

1. Update sysstat package using your distribution's package manager
2. For Debian/Ubuntu: sudo apt update && sudo apt install sysstat
3. For RHEL/CentOS: sudo yum update sysstat
4. For source installation: Download and compile version 12.2.1+ from sysstat GitHub

🔧 Temporary Workarounds

Disable sysstat data collection

linux

Stop sysstat from collecting and processing activity files

sudo systemctl stop sysstat
sudo systemctl disable sysstat

Remove vulnerable binary

linux

Temporarily remove or restrict access to vulnerable sysstat binaries

sudo chmod 000 /usr/lib/sysstat/sa_common
sudo mv /usr/lib/sysstat/sa_common /usr/lib/sysstat/sa_common.bak

🧯 If You Can't Patch

  • Run sysstat with reduced privileges using SELinux/AppArmor
  • Implement strict access controls to limit who can execute sysstat commands

🔍 How to Verify

Check if Vulnerable:

Check sysstat version: sadc -V | grep 'sysstat version'

Check Version:

sadc -V | grep 'sysstat version' || sysstat --version

Verify Fix Applied:

Verify version is 12.2.1 or higher: sadc -V | grep 'sysstat version'

📡 Detection & Monitoring

Log Indicators:

  • Segmentation faults in sysstat processes
  • Abnormal memory usage patterns in sysstat

Network Indicators:

  • Not applicable - local vulnerability

SIEM Query:

process.name:sadc AND event.outcome:failure OR process.name:sadc AND event.severity:critical

🔗 References

📤 Share & Export