CVE-2022-28652
Medium · 5.5CVSS
5.5
EPSS
0.2%
Published
Jun 4, 2024
CISA due date
—
Cloudanix analysis
Error reporting software on some Linux systems can be tricked by a specially made file into using up all the computer's resources and becoming unresponsive.
- Exploitation
- Local Privilege
- Attacker needs
- Low Privilege
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Application
- Class
- Denial of service
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The vulnerability permits a malicious configuration file to trigger exponential entity expansion (billion laughs) during XML parsing of ~/.config/apport/settings, exhausting CPU and memory resources and resulting in denial of service.
Why it matters to the business
Systems may become unresponsive due to resource exhaustion, interrupting error reporting and related workflows; the issue affects Ubuntu Linux environments with apport but carries low exploitation likelihood given its age, lack of known campaigns, and minimal EPSS score.
How an attack unfolds
An attacker with local access writes a crafted settings file containing recursive XML entities into a user's apport configuration directory; when apport parses the file during startup or crash handling, the entity expansion consumes system resources until the process or host is disrupted.
How to fix it
Upgrade apport to a patched release that disables or safely limits XML entity expansion during settings parsing; restrict write permissions on user configuration directories to prevent unauthorized file placement; monitor package repositories for updated Ubuntu apport packages.
How to confirm the fix worked
Confirm that apport safely rejects or bounds entity expansion in configuration files without excessive resource usage; test parsing of known malicious settings files in a controlled environment and verify package versions after updates.
Typical attack path
- Gain local user privileges on a target system
- Place a malicious XML settings file containing recursive entity definitions at ~/.config/apport/settings
- Trigger apport execution or system error reporting
- Cause sustained high CPU and memory consumption leading to denial of service
How to detect it
Inspect system and process logs for sustained high CPU or memory consumption by apport; search user home directories for recently modified apport configuration files; review audit logs for unexpected writes to configuration paths.
- ~/.config/apport/settings
- apport process high memory usage
- XML entity expansion patterns in configuration files
What your security team should do
- Apply available apport updates from distribution repositories as soon as released
- Enforce strict file permissions on ~/.config/apport to block untrusted writes
- Monitor for anomalous resource usage by apport processes
- Review and harden local configuration file handling across Ubuntu deployments
The record
~/.config/apport/settings parsing is vulnerable to "billion laughs" attack
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Ubuntu:18.04:LTS | apport | 0 | 2.20.9-0ubuntu7.28 |
| Ubuntu:20.04:LTS | apport | 0 | 2.20.11-0ubuntu27.24 |
| Ubuntu:22.04:LTS | apport | 0 | 2.20.11-0ubuntu82.1 |
| Ubuntu:Pro:14.04:LTS | apport | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | apport | 0 | 2.20.1-0ubuntu2.30+esm4 |
Related vulnerabilities
- CVE-2022-28657 Apport does not disable python crash handler before entering chroot Also affects apport
- CVE-2022-28656 is_closing_session() allows users to consume RAM in the Apport process Also affects apport
- CVE-2022-28658 Apport argument parsing mishandles filename splitting on older kernels resulting in… Also affects apport
- CVE-2022-28655 is_closing_session() allows users to create arbitrary tcp dbus connections Also affects apport
- CVE-2022-28654 is_closing_session() allows users to fill up apport.log Also affects apport
- CVE-2022-1242 Apport can be tricked into connecting to arbitrary sockets as the root user Also affects apport
- CVE-2021-3899 There is a race condition in the 'replaced executable' detection that, with the correct… Also affects apport
- CVE-2021-3709 Function check_attachment_for_errors() in file data/general-hooks/ubuntu.py could be… Also affects apport