CVE-2021-32553

7.3 HIGH

📋 TL;DR

This vulnerability in Apport's read_file() function allows local attackers to read arbitrary files by exploiting symbolic links or FIFOs. When used by openjdk-17 package hooks, it can expose sensitive data to other local users on the same system. Only affects systems with Apport and openjdk-17 installed.

💻 Affected Systems

Products:
  • apport
  • openjdk-17
Versions: Apport versions before 2.20.11-0ubuntu65, openjdk-17 versions using vulnerable Apport hooks
Operating Systems: Ubuntu Linux
Default Config Vulnerable: ⚠️ Yes
Notes: Requires both Apport and openjdk-17 to be installed and configured to use Apport crash reporting hooks.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Local privilege escalation leading to full system compromise through exposure of sensitive files like /etc/shadow, SSH keys, or configuration files containing credentials.

🟠

Likely Case

Unauthorized local users reading sensitive application data, configuration files, or temporary files containing partial credentials.

🟢

If Mitigated

Minimal impact with proper file permissions and isolation between user accounts, though information disclosure risk remains.

🌐 Internet-Facing: LOW - This is a local-only vulnerability requiring local user access.
🏢 Internal Only: MEDIUM - Risk exists in multi-user environments where untrusted users have local shell access.

🎯 Exploit Status

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

Exploitation requires local user access and ability to create symbolic links or FIFOs in predictable locations.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: apport 2.20.11-0ubuntu65 and later

Vendor Advisory: https://bugs.launchpad.net/ubuntu/+source/apport/+bug/1917904

Restart Required: No

Instructions:

1. Update Apport: sudo apt update && sudo apt install apport
2. Update openjdk-17 if separate package: sudo apt install openjdk-17-jre
3. Verify version with: dpkg -l apport

🔧 Temporary Workarounds

Disable Apport crash reporting

linux

Temporarily disable Apport to prevent exploitation while patching

sudo systemctl stop apport
sudo systemctl disable apport

Remove openjdk-17 Apport hooks

linux

Remove vulnerable hooks while maintaining Java functionality

sudo rm -f /usr/share/apport/package-hooks/source_openjdk-17.py

🧯 If You Can't Patch

  • Implement strict file permissions and access controls to limit local user privileges
  • Isolate sensitive systems from multi-user environments or implement mandatory access controls

🔍 How to Verify

Check if Vulnerable:

Check Apport version: dpkg -l apport | grep ^ii | awk '{print $3}' - if version is earlier than 2.20.11-0ubuntu65, system is vulnerable

Check Version:

dpkg -l apport | grep ^ii | awk '{print $3}'

Verify Fix Applied:

Verify Apport version is 2.20.11-0ubuntu65 or later: dpkg -l apport | grep ^ii

📡 Detection & Monitoring

Log Indicators:

  • Unusual Apport crash reports for openjdk-17 processes
  • Multiple failed crash report submissions

Network Indicators:

  • None - local-only vulnerability

SIEM Query:

process.name:apport AND file.path:*openjdk* AND file.path:*symlink* OR file.path:*fifo*

🔗 References

📤 Share & Export