English
◀◁ 뒤로
취약점ID 23345
위험도 40
포트 631
프로토콜 TCP
분류 CUPS
상세설명 CUPS는 표준 기반의 오픈 소스 프린팅 시스템이며, cups-browsed는 네트워크 프린팅 기능을 포함하고 있는데, 여기에는 자동으로 프린트 서비스를 발견하고 공유 프린터를 탐색하는 기능 등이 있습니다. cups-browsed는 INADDR_ANY:631에 바인딩되어 모든 소스의 패킷을 신뢰하게 되며, 공격자가 제어하는 URL로 Get-Printer-Attributes IPP 요청을 보낼 수 있습니다. CVE-2024-47076, CVE-2024-47175, CVE-2024-47177과 같은 다른 취약점과 결합하면, 악성 프린터로 인쇄할 때 인증 없이 원격으로 대상 머신에서 임의의 명령을 실행할 수 있습니다.

- cups-browsed ≤ 2.0.1은 UDP INADDR_ANY:631에 바인딩되어 모든 소스의 패킷을 신뢰하고, 공격자가 제어하는 URL로 Get-Printer-Attributes IPP 요청을 트리거합니다. (CVE-2024-47176)
- libcupsfilters ≤ 2.1b1의 cfGetPrinterAttributes5는 IPP 서버로부터 반환된 IPP 속성을 검증하거나 정화하지 않아, 공격자가 제어하는 데이터를 CUPS 시스템의 나머지 부분에 제공할 수 있습니다. (CVE-2024-47076)
- libppd ≤ 2.1b1의 ppdCreatePPDFromIPP2는 임시 PPD 파일에 IPP 속성을 쓸 때 이를 검증하거나 정화하지 않아, 생성된 PPD에 공격자가 제어하는 데이터를 주입할 수 있습니다. (CVE-2024-47175)
- cups-filters ≤ 2.0.1의 foomatic-rip은 FoomaticRIPCommandLine PPD 매개변수를 통해 임의의 명령 실행을 허용합니다. (CVE-2024-47177)

* 참고 사이트:
https://github.com/OpenPrinting/cups-browsed/security/advisories/GHSA-rj88-6mr5-rcw8
https://www.evilsocket.net/2024/09/26/Attacking-UNIX-systems-via-CUPS-Part-I/

* 영향을 받는 플랫폼:
Linux Any version
Unix Any version
해결책 * cups-browsed 서비스 비활성화 (사용하지 않을 경우)
- 명령어: $ sudo systemctl stop cups-browsed; sudo systemctl disable cups-browsed
* CUPS 서비스 재시작
- 명령어: $ sudo systemctl restart cups
* 방화벽 설정 강화
- UDP 포트 631에 대한 외부 접근 차단
- 명령어: $ sudo ufw deny proto udp from any to any port 631
관련 URL CVE-2024-47176,CVE-2024-47076,CVE-2024-47175,CVE-2024-47177 (CVE)
관련 URL 75098 (SecurityFocus)
관련 URL (ISS)