
# CVE-2026-4480 개념 증명 — Samba 인쇄 작업 이름 명령 주입 취약점 악성 인쇄 작업 이름을 통한 익스플로잇을 시연하며, 탐지 및 완화 지침을 포함합니다.
CVE-2026-4480은 외부 인쇄 명령을 사용하는 특정 Samba 인쇄 구성에 영향을 미치는 명령 주입 취약점입니다.
이 취약점은 Samba가 사용자 제어 인쇄 작업 메타데이터를 셸 명령에 삽입할 때 셸 메타 문자를 제대로 이스케이프하지 않기 때문에 발생합니다. 특정 구성에서 공격자는 서버에서 임의의 명령을 실행하게 하는 악의적인 인쇄 작업 이름을 제공할 수 있습니다.
일부 프린터 공유가 게스트 액세스를 허용하므로 인증 없이도 악용이 가능하기 때문에 이 문제는 특히 위험합니다.
Samba는 여러 인쇄 백엔드를 지원합니다. 일반적으로 sysv-스타일 인쇄라고 불리는 레거시 옵션 중 하나는 인쇄 작업이 완료될 때마다 외부 명령을 실행합니다.
관리자는 다음과 같은 대체 매크로를 사용하여 명령을 구성할 수 있습니다.
print command = /usr/local/bin/print-helper %s %J
여기서:
%s → 스풀 파일 경로%J → 클라이언트가 제공한 인쇄 작업 이름수정 이전에는 %J 값이 시스템 셸을 통해 실행되는 명령에 삽입되기 전에 최소한의 삭제(살균)만 수행되었습니다.
셸 메타 문자가 그대로 유지되었기 때문에 특수하게 조작된 작업 이름이 의도된 명령 흐름을 변경하고 공격자가 제어하는 명령을 실행할 수 있었습니다.
일반적인 공격은 네 단계로 구성됩니다.
인쇄 명령이 %J를 참조하는 경우 공격자의 페이로드가 셸 명령의 일부가 되어 Samba 인쇄 프로세스의 권한으로 실행됩니다.
모든 Samba 설치가 취약한 것은 아닙니다.
일반적으로 다음 조건이 모두 충족되어야 합니다.
%J를 참조합니다.CUPS 기반 인쇄를 사용하는 최신 배포판은 작업이 셸 명령 대신 CUPS API를 통해 전달되므로 이 공격 경로가 노출되지 않습니다.
성공적인 악용을 통해 공격자는 다음을 수행할 수 있습니다.
심각도는 인쇄 프로세스의 권한과 주변 시스템 구성에 크게 좌우됩니다.
영향을 받는 릴리스에는 다음 이전 버전이 포함됩니다.
이후 릴리스를 사용하는 시스템은 이 문제의 영향을 받지 않습니다.
권장 완화 조치는 다음과 같습니다.
%J를 제거합니다.printing = cups로 마이그레이션합니다.방어자는 다음을 조사해야 합니다.
smbdsh
bash
python
perl
nc
curl
wget
Samba 서비스에서 프로세스 생성을 모니터링하면 악용 시도를 식별하는 데 도움이 될 수 있습니다.
이 저장소는 교육 목적 및 승인된 보안 연구용으로만 제공됩니다.
소유자의 명시적 허가 없이 시스템, 네트워크 또는 서비스에 대해 이 코드를 사용하지 마십시오. 컴퓨터 시스템에 대한 무단 액세스는 불법이며 비윤리적입니다.
항상 격리된 실험실 환경이나 보안 교육 전용 플랫폼에서 테스트를 수행하십시오.