Giảm Thiểu Các Lỗ Hổng Bảo Mật Nghiêm Trọng Trong Dịch Vụ CUPS Trên Linux
Bài viết này khám phá các lỗ hổng bảo mật nghiêm trọng trong dịch vụ CUPS (Common Unix Printing System) trên Linux. Những lỗ hổng này có thể cho phép kẻ tấn công thực hiện các cuộc tấn công từ xa, gây ảnh hưởng đến tính bảo mật của hệ thống. Chúng tôi sẽ cung cấp thông tin chi tiết về các lỗ hổng đã được xác định, cách thức hoạt động của chúng, cũng như hướng dẫn giảm thiểu rủi ro và bảo vệ hệ thống của bạn khỏi các mối đe dọa này.
Một số lỗ hổng nghiêm trọng trong hệ thống in CUPS của Linux đã được công bố, ảnh hưởng đến tất cả các phiên bản Red Hat Enterprise Linux (RHEL), nhưng không phải ở cấu hình mặc định. Bốn lỗ hổng đã được phân bổ mã CVE như sau:
- CVE-2024-47176: Gói
cups-browsed
, phiên bản <= 2.0.1. Cho phép tin cậy bất kỳ gói UDP nào từ bất kỳ nguồn nào, kích hoạt yêu cầu IPP đến URL do kẻ tấn công kiểm soát. - CVE-2024-47076: Gói
libcupsfilters
, phiên bản <= 2.1b1. Không xác thực thuộc tính IPP từ máy chủ, cho phép dữ liệu do kẻ tấn công kiểm soát tác động đến hệ thống CUPS. - CVE-2024-47175: Gói
libppd
, phiên bản <= 2.1b1. Không xác thực thuộc tính IPP khi ghi vào tệp PPD tạm thời, cho phép chèn dữ liệu do kẻ tấn công kiểm soát. - CVE-2024-47177: Gói
cups-filters
, phiên bản <= 2.0.1. Cho phép thực thi lệnh tùy ý thông qua tham sốFoomaticRIPCommandLine
trong tệp PPD.
Cách giảm thiểu lỗ hổng CUPS
Nếu hệ thống của bạn bị ảnh hưởng bởi lỗ hổng CUPS, hãy làm theo các bước sau để loại bỏ và giảm thiểu rủi ro liên quan:
-
Dừng và vô hiệu hóa dịch vụ CUPS: Bước đầu tiên là dừng dịch vụ CUPS và vô hiệu hóa nó để ngăn không cho nó khởi động lại.
sudo systemctl stop cups sudo systemctl disable cup
-
Dừng và vô hiệu hóa dịch vụ cups-browsed: Tiếp theo, dừng và vô hiệu hóa dịch vụ cups-browsed, dịch vụ này thường được sử dụng để phát hiện máy in qua mạng.
sudo systemctl stop cups-browsed sudo systemctl disable cups-brows
-
Gỡ bỏ các gói CUPS: Gỡ cài đặt CUPS và các gói liên quan bằng trình quản lý gói của hệ thống. Lệnh thay đổi tùy theo bản phân phối Linux:
-
Đối với hệ thống Debian/Ubuntu:
sudo apt-get purge --auto-remove cups cups-browsed
-
Đối với hệ thống RHEL/CentOS/Fedora:
sudo yum remove cups cups-browsed
-
Đối với hệ thống Arch:
sudo pacman -Rns cups cups-browsed
-
-
Xóa tệp cấu hình CUPS: Sau khi gỡ CUPS, các tệp cấu hình có thể vẫn còn lại. Cần xóa thủ công chúng:
sudo rm -rf /etc/cups
-
Xóa dữ liệu người dùng: Nếu bạn đã thiết lập máy in hoặc các cấu hình người dùng khác, hãy xóa dữ liệu liên quan:
sudo rm -rf /var/spool/cups sudo rm -rf /var/cache/cup
-
Dọn dẹp các gói phụ thuộc còn sót lại: Sau khi gỡ cài đặt CUPS, có thể còn lại các gói phụ thuộc. Bạn có thể dọn dẹp chúng bằng lệnh thích hợp:
-
Đối với hệ thống Debian/Ubuntu:
sudo apt-get autoremove
-
Đối với hệ thống RHEL/CentOS/Fedora:
sudo yum autoremove
-
-
Chặn lưu lượng đến cổng UDP 631 và DNS-SD: CUPS sử dụng cổng UDP 631 cho Giao thức In Internet (IPP) và DNS-SD (mDNS) cho việc phát hiện máy in. Để bảo vệ hệ thống thêm, chặn lưu lượng đến các cổng này bằng iptables hoặc ufw.
-
Sử dụng iptables:
-
Chặn tất cả lưu lượng đến cổng UDP 631:
sudo iptables -A INPUT -p udp --dport 631 -j DROP
-
Tùy chọn, chặn lưu lượng DNS-SD (mDNS trên cổng 5353):
sudo iptables -A INPUT -p udp --dport 5353 -j DROP
-
-
Sử dụng ufw:
udo ufw deny 631/udp sudo ufw deny 5353/udp
-
Cảm xúc của bạn?