Cloudanix VulnDB

CVE-2021-32547

Medium · 5.5

CVSS

5.5

EPSS

0.3%

Published

Jun 12, 2021

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A local user on certain Ubuntu computers could read private files belonging to other users by tricking a diagnostic tool into following shortcuts.

Exploitation
Local Privilege
Attacker needs
Low Privilege
Complexity
Low
Impact
Data Exposure
Component
Application
Class
Path Traversal
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

read_file() in apport/hookutils.py follows symbolic links and opens FIFOs, allowing local exposure of arbitrary file contents when invoked by openjdk-lts apport hooks.

Why it matters to the business

Local users on affected Ubuntu systems can read files they should not access, increasing risk of credential or configuration data leakage with moderate urgency given the flaw's age and lack of observed exploitation.

How an attack unfolds

An attacker on the same system creates a symbolic link or FIFO that points to a target file containing private data, then triggers the openjdk-lts apport hook so that read_file() dereferences the link and returns the contents.

How to fix it

Upgrade the apport and openjdk-lts packages to patched versions that replace or guard read_file() against symlink and FIFO traversal; apply all subsequent Ubuntu security updates.

How to confirm the fix worked

Confirm the installed apport package contains the symlink/FIFO hardening fix in hookutils.py and test that read_file() no longer follows links when invoked by the openjdk-lts hook.

Typical attack path

  1. Create symlink or FIFO in a location readable by the apport hook process
  2. Point the link at a target file containing private data
  3. Trigger the openjdk-lts apport hook that calls read_file()
  4. Read the returned file contents from hook output or logs

How to detect it

Review system logs for unexpected apport hook executions, unusual symlink creation in crash directories, and any hook output containing paths outside expected package directories.

What your security team should do

  • Prioritize patching apport and openjdk-lts on all Ubuntu systems within the next maintenance window
  • Audit local user access to /var/crash and apport hook directories
  • Monitor for new CVEs in apport hook utilities and subscribe to Ubuntu security notices

The record

It was discovered that read_file() in apport/hookutils.py would follow symbolic links or open FIFOs. When this function is used by the openjdk-lts package apport hooks, it could expose private data to other local users.

Affected packages

Ecosystem Package Introduced Fixed
Ubuntu:18.04:LTS apport 0 2.20.9-0ubuntu7.24
Ubuntu:20.04:LTS apport 0 2.20.11-0ubuntu27.18
Ubuntu:Pro:14.04:LTS apport 0 2.14.1-0ubuntu3.29+esm7
Ubuntu:Pro:16.04:LTS apport 0 2.20.1-0ubuntu2.30+esm1

Related vulnerabilities