CVE-2024-45062

6.4 MEDIUM

📋 TL;DR

A stack-based buffer overflow vulnerability in OpenPrinting ippusbxd 1.34 allows arbitrary code execution when a malicious IPP-over-USB printer is connected. This affects systems running the vulnerable ippusbxd service, typically Linux distributions that use it for printer communication. The vulnerability requires physical USB access to the system.

💻 Affected Systems

Products:
  • OpenPrinting ippusbxd
Versions: Version 1.34 specifically
Operating Systems: Linux distributions using ippusbxd
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects systems where ippusbxd is installed and running, typically for IPP-over-USB printer support.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Full system compromise with root privileges leading to complete control of the affected system, data exfiltration, and lateral movement.

🟠

Likely Case

Local privilege escalation to root, installation of persistent backdoors, or disruption of printing services.

🟢

If Mitigated

Limited impact if USB device restrictions are enforced and the service runs with minimal privileges.

🌐 Internet-Facing: LOW - Requires physical USB connection, not network accessible.
🏢 Internal Only: MEDIUM - Requires physical access to USB ports, but internal attackers with physical access could exploit.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Exploitation requires creating a malicious USB device that mimics an IPP-over-USB printer and connecting it to the target system.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Version 1.35 or later

Vendor Advisory: https://talosintelligence.com/vulnerability_reports/TALOS-2024-2071

Restart Required: No

Instructions:

1. Update ippusbxd to version 1.35 or later using your distribution's package manager. 2. For source installations: download from OpenPrinting repository, compile, and replace the binary. 3. Restart the ippusbxd service if it doesn't auto-restart.

🔧 Temporary Workarounds

Disable ippusbxd service

systemd-based Linux

Temporarily stop and disable the ippusbxd service if IPP-over-USB printing is not required.

sudo systemctl stop ippusbxd
sudo systemctl disable ippusbxd

USB device restriction

Linux

Use USBGuard or similar tools to block unauthorized USB devices from connecting.

sudo apt install usbguard
sudo systemctl start usbguard
sudo usbguard generate-policy > /etc/usbguard/rules.conf

🧯 If You Can't Patch

  • Disconnect all USB printers and use network printing instead.
  • Implement strict physical security controls to prevent unauthorized USB device connections.

🔍 How to Verify

Check if Vulnerable:

Check ippusbxd version: run 'ippusbxd --version' or check package version with 'dpkg -l ippusbxd' or 'rpm -q ippusbxd'.

Check Version:

ippusbxd --version 2>/dev/null || dpkg -l ippusbxd 2>/dev/null || rpm -q ippusbxd 2>/dev/null

Verify Fix Applied:

Confirm version is 1.35 or later using the same commands, and verify the service is running without errors.

📡 Detection & Monitoring

Log Indicators:

  • Unexpected USB device connections in system logs (/var/log/syslog, journalctl)
  • ippusbxd service crashes or abnormal termination logs

Network Indicators:

  • Unusual USB device traffic if monitored, though primarily local

SIEM Query:

source="*syslog*" AND (process="ippusbxd" AND ("segmentation fault" OR "buffer overflow" OR "crash")) OR (device_type="USB" AND vendor_id unusual)

🔗 References

📤 Share & Export