CVE-2022-28653
📋 TL;DR
CVE-2022-28653 is a denial-of-service vulnerability where users can fill the /var/crash directory with crash reports, consuming unlimited disk space. This affects systems with crash reporting enabled where users have write access to crash directories. The vulnerability can lead to system instability and service disruption.
💻 Affected Systems
- Linux systems with crash reporting utilities
📦 What is this software?
Apport by Canonical
⚠️ Risk & Real-World Impact
Worst Case
Complete disk exhaustion causing system crashes, service failures, and potential data loss as critical system processes cannot write to disk.
Likely Case
Degraded system performance, application failures, and service interruptions requiring manual cleanup and system restarts.
If Mitigated
Minimal impact with proper disk monitoring, quotas, and user access controls preventing abuse.
🎯 Exploit Status
Exploitation requires user access to trigger crashes and write to /var/crash. The vulnerability is in crash report handling, not in triggering crashes themselves.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Varies by distribution - check vendor advisories
Vendor Advisory: https://www.cve.org/CVERecord?id=CVE-2022-28653
Restart Required: No
Instructions:
1. Check your Linux distribution's security advisories. 2. Update crash reporting packages (abrt, apport, systemd-coredump). 3. Apply patches via standard package manager (apt, yum, dnf). 4. Verify crash reporting services are functioning correctly.
🔧 Temporary Workarounds
Implement disk quotas on /var/crash
LinuxLimit the amount of disk space users can consume in the crash directory
# Set quota for /var/crash
# Install quota tools if needed
# Edit /etc/fstab to add usrquota,grpquota to /var/crash partition
# remount filesystem
# Initialize quotas: quotacheck -cug /var/crash
# Enable quotas: quotaon /var/crash
# Set user limits: edquota -u username
Disable crash reporting
LinuxTurn off automatic crash reporting if not needed
# For systemd-coredump: systemctl disable systemd-coredump.socket systemd-coredump.service
# For abrt: systemctl disable abrtd.service abrt-oops.service
# For apport: echo 'enabled=0' > /etc/default/apport
🧯 If You Can't Patch
- Implement filesystem monitoring and alerts for /var/crash directory growth
- Regularly clean old crash reports and implement retention policies
🔍 How to Verify
Check if Vulnerable:
Check if crash reporting is enabled and if /var/crash directory exists with world-writable permissions: ls -ld /var/crash && df -h /var/crash
Check Version:
# For systemd-coredump: systemd-coredump --version
# For abrt: abrtd --version
# For apport: apport-cli --version
# Check package versions: rpm -qa | grep -E '(abrt|apport|coredump)' or dpkg -l | grep -E '(abrt|apport|coredump)'
Verify Fix Applied:
Check package versions of crash reporting tools and verify they're updated. Test by triggering a crash (if safe) and checking crash report handling.
📡 Detection & Monitoring
Log Indicators:
- Rapid growth in /var/crash directory size logs
- Multiple crash reports from same user in short time
- Disk space alerts for /var partition
Network Indicators:
- None - this is a local filesystem vulnerability
SIEM Query:
Search for: 'disk space critical' OR 'filesystem full' AND '/var/crash' OR multiple 'core dumped' events from same source