Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
litebox-seccomp-open-rdonly — 높은 로컬 파일 읽기: LiteBox v0.1.0 linux-userland seccomp SYS_open O_RDONLY에 호스트 경로 검사가 없음 | Kitploit
도구/GitHubGitHub/abraxas/litebox-seccomp-open-rdonly
Container SecurityDynamic Analysis (Sandboxing)Vulnerability AnalysisExploitationInformation GatheringPapers & ResearchLabs & Practice
GitHub

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
abraxas/litebox-seccomp-open-rdonly

litebox-seccomp-open-rdonly

높은 로컬 파일 읽기: LiteBox v0.1.0 linux-userland seccomp SYS_open O_RDONLY에 호스트 경로 검사가 없음

저장소 보기
114일 전아직 검토되지 않음

Abraxas Labs - litebox-seccomp-open-rdonly

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  litebox-seccomp-open-rdonly

litebox-seccomp-open-rdonly

분류: 파일 읽기 (샌드박스 FS 경계) 도달 범위: 로컬

LiteBox v0.1.0 (d8556e3) - Microsoft

문서화된 Linux-userland 러너(litebox-runner-linux-userland)는 기본 거부(deny-by-default) seccomp 필터를 설치한 뒤, 같은 프로세스에서 게스트 ELF를 로드한다. 인자 1(flags)이 OFlags::RDONLY(0)와 동일한 dword일 때 SYS_open이 허용 목록에 포함된다. 경로 조건자는 없다. flags 0으로 실제 syscall을 발생시키는 게스트는 러너 UID로 호스트 VFS를 열고, 그 바이트를 read / mmap한다. 이 핀에서 ELF 재작성기는 보안 경계가 아니다. --rewrite-syscalls는 -Z이며 기본적으로 꺼져 있다.

이 잔여 취약점은 호스트 FS 읽기다. 호스트 쓰기, exec, ptrace, LPE, RCE가 아니다.

ID아직 CVE 없음
분류파일 읽기 (샌드박스 FS 경계)
도달 범위로컬 (러너 프로세스 내의 신뢰할 수 없는 게스트 바이너리)
CWECWE-284, CWE-862
CVSS높음: 7.1 CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N
제품microsoft/litebox
영향받는 버전v0.1.0 (d8556e33676e47244bfefa139c1e9ff95bd67d53) Linux userland 플랫폼 + 러너
인증게스트가 이미 샌드박스 내부에서 실행 중
라이선스GNU Affero GPL v3.0
랩127.0.0.1 전용, linux/amd64

공격자가 할 수 있는 것

누가: litebox-runner-linux-userland 내의 신뢰할 수 없는 게스트 바이너리. 벤더(GitHub #1006의 CvvT)와 재작성기 크레이트 문서는 ELF 트램폴린이 보안 경계가 아니라고 명시한다. Linux userland 보안은 이 필터다. enable_seccomp_filter는 기본 거부(릴리스에서 Errno(EINVAL))이며 TSYNC와 PR_SET_NO_NEW_PRIVS를 사용한다. 구멍은 경로 검사가 없는 SYS_open flags Eq 0이다. page_mgmt.rs의 주석은 CoW 매핑이 미리 열어둔 FD를 유지하는 대신, 필터가 켜진 후 호스트 프로그램 파일을 다시 연다는 것이다.

정찰 (랩에서 입증됨)

방법 + 싱크권한
실제 SYS_open("/oracle/secret", 0) 후 SYS_read러너 UID가 읽을 수 있는 호스트 파일 바이트. 랩: fd 3, 35바이트, 증거 LITEBOX-SECCOMP-OPEN-RDONLY-WITNESS. 경로는 게스트 오버레이가 아닌 initramfs 호스트 VFS.

정찰 (동일 필터에서 추론됨; 랩 오라클 아님)

방법 + 싱크권한
SYS_open("/etc/passwd", 0) 후 read / mmap러너 UID로 전 세계 읽기 가능한 호스트 파일
러너 소유 경로의 SYS_open (ssh 키, .env, kubeconfig, 클라우드 자격 증명, --initial-files tar)UID가 열 수 있다면 해당 바이트
SYS_open("/etc/shadow", 0)러너가 root인 경우에만 shadow 해시
SYS_open("/proc/self/maps", 0)러너 맵, 호스트 .text / libc 포함 (동일 프로세스)
SYS_open("/proc/self/mem", 0) 후 FD의 mmapUID가 procfs를 통해 읽을 수 있는 러너 주소 공간. pread는 미매칭 거부, SYS_mmap은 허용.

무결성

이 잔여 취약점에는 없음. 랩에서 입증된 부정 결과는 모두 errno=22 EINVAL을 반환했고 파일을 생성하지 않았다:

방법 + 싱크결과
SYS_open O_RDWREINVAL
SYS_open O_CREATEINVAL, 파일 생성 안 됨
O_RDONLY여도 SYS_openatEINVAL
SYS_execveEINVAL
socket, ptraceEINVAL (추가 미매칭 거부)

openat / openat2 / creat / unlink / chmod는 이 핀에서 미매칭 거부로 유지된다.

가용성

범위 밖.

이 잔여 취약점이 부여하지 않는 것

  • 호스트 쓰기, exec, ptrace, process_vm_readv, io_uring_setup, bpf, mount, pivot_root, unshare, setns, connect, ioctl, getdents
  • x32 / i386: seccompiler 0.5.0은 AUDIT_ARCH_X86_64 또는 KILL_PROCESS를 접두한다
  • clone3는 필터를 상속한다; uid_map 작성에는 차단된 open이 필요하다
  • 게스트 가상 FS(in_mem + tar_ro)는 변경되지 않는다. 이 잔여 취약점은 실제 syscall을 통한 호스트 VFS다
  • Windows userland에는 seccomp가 없다; 그 러너는 이 경계를 주장하지 않는다
  • RCE 아님, LPE 아님, 다른 UID로의 샌드박스 탈출 아님

발견 방법

main 대신 microsoft/litebox v0.1.0(d8556e3, 2026-10-07)을 핀했다. 18번의 소스 탐색. 재작성기 크레이트와 GitHub #1006은 이미 트램폴린이 경계가 아니라고 말한다. Linux userland 필터가 경계다. flags 0의 SYS_open은 CoW가 프로그램 파일을 다시 열 수 있도록 존재한다. 경로 검사가 없다.

잘못된 방향: Docker Desktop Rosetta와 qemu-user-static 모두 이 호스트에서 seccomp(SET_MODE_FILTER)를 거부한다(EINVAL / ENOSYS). 따라서 랩은 qemu-system-x86_64 TCG 아래에서 x86_64 Alpine virt 커널을 부팅하고 복사된 필터를 PID 1로 실행하여 BPF가 실제 x86_64 커널에 도달하도록 한다. 트리 내 enable_seccomp_filter 호출이 아닌 복사된 seccompiler 0.5.0 규칙을 사용하며, 전체 워크스페이스도 아니다.

랩

cd lab
./run.sh

루프백 127.0.0.1:19110. Compose 프로젝트 litebox-seccomp-open-rdonly. 플랫폼 linux/amd64. 증거 LITEBOX-SECCOMP-OPEN-RDONLY-WITNESS. 마지막 줄:

SUCCESS litebox-seccomp-open-rdonly open-rdonly-ok rdwr-einval openat-einval execve-einval LITEBOX-SECCOMP-OPEN-RDONLY-WITNESS

수정

필터에서 SYS_open을 제거하고 PR_SET_SECCOMP 전에 CoW FD를 미리 열거나, 게스트 FS 외부의 호스트 경로를 볼 수 없는 경로 조건자를 추가하라. 미매칭 거부가 이미 openat을 커버한다.

벤더 접수는 MSRC(https://msrc.microsoft.com/create-report)다. microsoft/litebox에 공개 GitHub 이슈를 열지 마라.

연락처

Abraxas Labs - abraxaslabs.tech - github.com/abraxas - @abraxas_null - [email protected]

도구 다운로드