Affected versions: Ubuntu 18.04

πŸ“– ~4 min read  β€’  Source: Ubuntu Security Notice USN-6408-2

Related CVEs: CVE-2023-43786 CVE-2023-43787 CVE-2023-43788 CVE-2023-43789 CVE-2022-44617 CVE-2022-46285 CVE-2022-4883

Upstream summary: USN-6408-1 fixed several vulnerabilities in libXpm. This update provides
the corresponding update for Ubuntu 14.04 LTS, Ubuntu 16.04 LTS and Ubuntu 18.04 LTS.

Original advisory details:

Yair Mizrahi discovered that libXpm incorrectly handled certain malformed
XPM image files. If a user were tricked into opening a specially crafted
XPM image file, a remote attacker could possibly use this issue to consume
memory, leading to a denial of service. (CVE-2023-43786)

Yair Mi

Table of contents
  1. Symptom & Impact
  2. Environment & Reproduction
  3. Root Cause Analysis
  4. Quick Triage
  5. Step-by-Step Diagnosis
  6. Solution – Primary Fix
  7. Solution – Alternative Approaches
  8. Verification & Acceptance Criteria
  9. Rollback Plan
  10. Prevention & Hardening
  11. Related Errors & Cross-Refs
  12. References & Further Reading

Symptom & Impact

On Ubuntu 18.04 hosts running libxpm, administrators report behaviour consistent with Ubuntu Security Notice USN-6408-2: apt refusing to install or restart affected services, AppArmor denials in journalctl -k, and β€” for security-rated advisories β€” exposure to the vulnerability set above. In production estates the visible impact ranges from a single service restart to wider availability incidents whenever libxpm sits on the serving path.

Environment & Reproduction

Reproduction targets Ubuntu 18.04. Confirm release with lsb_release -a and cat /etc/os-release, and the currently installed package with dpkg -l libxpm and apt-cache policy libxpm. Capture system state with sudo ubuntu-bug libxpm or sudo apport-collect for an evidence bundle. Trigger the workflow that exposes libxpm β€” multiple vulnerabilities (7 CVEs) β€” patch and remediation guide while collecting journalctl -b, /var/log/apt/history.log, and dpkg -l output.

Root Cause Analysis

Root cause is documented in Ubuntu Security Notice USN-6408-2. Canonical security maintainers shipped fixes in the corresponding libxpm update for Ubuntu 18.04; running an outdated build leaves the host exposed to the failure modes described in the advisory. Correlate journalctl --since timestamps with apt history (/var/log/apt/history.log) and any AppArmor denials in /var/log/syslog to isolate the originating change.

Quick Triage

Quick triage: run systemctl status libxpm, journalctl -u libxpm -n 200, sudo apt update && apt list --upgradable, sudo ufw status verbose, and sudo aa-status. If AppArmor is in enforce mode, capture journalctl -k | grep apparmor to surface denials linked to libxpm β€” multiple vulnerabilities (7 CVEs) β€” patch and remediation guide.

Step-by-Step Diagnosis

1) Confirm symptom with systemctl --failed. 2) Inspect logs: journalctl -xe and journalctl -u libxpm. 3) Validate firewall: sudo ufw status numbered. 4) Check AppArmor: sudo aa-status and journalctl -k | grep apparmor. 5) Verify package integrity: dpkg -V libxpm and sudo apt install --reinstall libxpm. 6) Correlate findings with apt list --installed libxpm, /var/log/apt/history.log, and Ubuntu Security Notice USN-6408-2 to pin the change that introduced libxpm β€” multiple vulnerabilities (7 CVEs) β€” patch and remediation guide.

Solution – Primary Fix

Primary fix for libxpm β€” multiple vulnerabilities (7 CVEs) β€” patch and remediation guide: apply the corrective apt transaction described in Ubuntu Security Notice USN-6408-2, reload the affected systemd unit, and reconcile UFW / AppArmor state. Typical commands: sudo apt update, sudo apt -y install --only-upgrade libxpm or sudo unattended-upgrade -v, sudo systemctl daemon-reload, sudo systemctl restart libxpm, then dpkg -l libxpm to validate the new build is installed. For kernel advisories add sudo reboot or apply Ubuntu Livepatch (canonical-livepatch status) where covered by your Ubuntu Pro subscription.

Need help rolling this patch across an Ubuntu fleet? Our IT Solutions & Services team manages Ubuntu patch windows with zero-downtime change controls and Ubuntu Pro / Landscape integration. Get in touch for a free consultation.

Solution – Alternative Approaches

Alternatives include pinning a known-good version via /etc/apt/preferences.d/libxpm.pref with apt-mark hold libxpm, rolling back with sudo apt install libxpm=<old-version>, rotating UFW rules with sudo ufw reload, switching AppArmor profiles to complain mode (sudo aa-complain /etc/apparmor.d/usr.bin.libxpm) to confirm policy is the cause before authoring a custom profile, or applying Canonical Livepatch fixes via canonical-livepatch refresh where Ubuntu Pro is subscribed.

Verification & Acceptance Criteria

Acceptance: dpkg -l libxpm shows the expected fixed version, systemctl is-active libxpm returns active, journalctl -u libxpm --since "5 minutes ago" shows no errors, apt list --upgradable no longer lists the advisory, sudo ufw status shows required services, sudo aa-status reports the intended profile mode, and the original reproduction steps for libxpm β€” multiple vulnerabilities (7 CVEs) β€” patch and remediation guide no longer trigger the failure across two consecutive runs.

Rollback Plan

Capture state with apt list --installed > /root/apt-pre.txt, dpkg --get-selections > /root/dpkg-pre.txt, and where available sudo zfs snapshot rpool/ROOT/ubuntu@pre-libxpm on ZFS-on-root installs. To revert, run sudo apt install --allow-downgrades libxpm=<old-version> and reload systemctl daemon-reload. Remove custom AppArmor profiles with sudo apparmor_parser -R. Reboot if the kernel or initramfs changed and re-verify symptoms.

Prevention & Hardening

Prevent recurrence by enabling unattended-upgrades with Unattended-Upgrade::Allowed-Origins tuned to ${distro_id}:${distro_codename}-security, subscribing to the ubuntu-security-announce mailing list, mirroring through Landscape / a local apt-mirror for controlled rollouts, version-locking sensitive packages, and monitoring file integrity with aide --check. Apply CIS Ubuntu hardening, keep AppArmor in enforce, and enable Canonical Livepatch under Ubuntu Pro so kernel advisories can be remediated without reboot.

Related issues that commonly surface alongside libxpm β€” multiple vulnerabilities (7 CVEs) β€” patch and remediation guide: apt lock contention (dpkg --configure -a), systemd unit ordering cycles, AppArmor denials in journalctl -k, UFW zone drift, and kernel taint flags in cat /proc/sys/kernel/tainted. See sibling common-problem articles in this Ubuntu 18.04 series for adjacent failure modes.

View all ubuntu-18-04 tutorials on the Tutorials Hub β†’

Browse all common problems & solutions on the Tutorials Hub.

References & Further Reading

Primary reference: Ubuntu Security Notice USN-6408-2. Supporting docs: Ubuntu Server Guide, man apt, man systemctl, man ufw, man aa-status, man apparmor, man journalctl, the Ubuntu CVE Tracker at ubuntu.com/security/cves, and Canonical Livepatch docs. Review /usr/share/doc/libxpm/ for component-level notes implicated in libxpm β€” multiple vulnerabilities (7 CVEs) β€” patch and remediation guide.