최근 많은 Linux 및 Unix 기반 그래픽 사용자 인터페이스 시스템에 기본적으로 설치되어 널리 사용되는 인쇄 서버에서 새로운 취약점이 발견되었습니다. 이 취약점에 대한 주요 공격 벡터는 CUPS(Common Cell Printing System) 인쇄 스케줄러, 특히 cup-browsed입니다. 이는 사용자 상호 작용이 전혀 필요하지 않은 원격 코드 실행 가능성이 있습니다.
보고서에 따르면 RHEL과 Canonical은 이 취약점에 9.9점의 CVSS 점수를 부여했지만 이 점수는 열띤 논쟁을 불러일으켰으며 일부에서는 코드를 시스템에 원격으로 다운로드할 수 있지만 사용자 개입 없이는 실행할 수 없기 때문에 점수를 더 낮춰야 한다고 주장했습니다. 다행스럽게도 이 결함이 악용되었다는 증거는 없습니다. 하지만 이 공개는 10월 비공개 공개 예정을 앞두고 온라인에 유출되어 이를 발견한 개발자가 자신의 블로그에 전체 설명을 게시하게 되었습니다. 이 경우 악의적인 행위자가 취약점을 악용하기 시작할 가능성이 높습니다.
연구원 SimoneMargaritelli의 긴 블로그 게시물에 따르면 CUPS 인쇄 시스템과 관련된 서비스는 원격 코드 실행에 취약합니다. 기본적으로 공격 시스템은 인쇄 스케줄러를 속여 프린터라고 믿게 하고 프린터 구성 파일로 위장한 악성 코드(임의의 실행 코드일 수 있음)를 보냅니다. CUPS는 포트 *:631을 통해 전송된 모든 패킷을 허용하므로 이 프로세스에는 사용자 개입이 필요하지 않습니다.
요약 보고:
CVE-2024-47176|cups-browsed<=2.0.1은 UDPINADDR_ANY:631에 바인딩되어 모든 소스의 모든 패킷을 신뢰하여 공격자가 제어하는 URL에 대한 Get-Printer-Attributes IPP 요청을 트리거합니다.
CVE-2024-47076|libcupsfilters<=2.1b1cfGetPrinterAttributes5는 IPP 서버에서 반환된 IPP 속성을 검증하거나 삭제하지 않아 공격자가 제어하는 데이터를 CUPS 시스템의 다른 부분에 제공합니다.
CVE-2024-47175|libppd<=2.1b1ppdCreatePPDFromIPP2는 IPP 속성을 임시 PPD 파일에 쓸 때 유효성을 검사하거나 삭제하지 않으므로 공격자가 제어하는 데이터가 생성된 PPD에 주입될 수 있습니다.
CVE-2024-47177|cup-filters<=2.0.1foomatic-rip은 FoomaticRIPCommandLinePPD 매개변수를 통해 임의 명령 실행을 허용합니다.
특정 익스플로잇은 패치되지 않은 다수의 취약점에 의존하며, 그 중 일부는 10년 이상 된 취약점이므로 이는 Linux 또는 Unix 기반 시스템 사용자에게 특히 중요한 문제입니다. 이 공격 벡터가 작동하려면 시스템에 CUPS(Common Unix Printing System)와 cup-browsed가 설치되어 실행되고 있어야 하며, 이는 많은 시스템에서 기본값입니다. Margaritelli에 따르면 현재 인터넷에 연결되어 인쇄 서비스를 제공하는 시스템이 200,000~300,000개 있지만 Shodan은 CUPS 포트가 열려 있고 인터넷에 연결된 시스템이 약 76,000개 있다고 보고합니다(위 스크린샷 참조).
연구원들은 잠재적으로 ChromeOS 및 macOS뿐만 아니라 대부분의 GNU/Linux 배포판이 영향을 받는다고 주장하지만 이는 많은 Linux 배포판의 기본 구성이 아니며 특히 대규모 서버나 데이터 센터의 구성이 되어서는 안 됩니다. 즉, 가장 큰 대상 그룹은 Linux를 실행하는 개인 PC 사용자가 될 것임을 의미합니다.