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

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
litebox-snp-novalidation-userptr — 높은 로컬 쓰기 프리미티브: LiteBox v0.1.0 SNP UserPtr은 NoValidation이므로 게스트 시스템 콜 버퍼가 커널 VA가 될 수 있음 | Kitploit
도구/GitHubGitHub/abraxas/litebox-snp-novalidation-userptr
Privilege EscalationMemory ForensicsVulnerability AnalysisExploitationSecurity VirtualizationCloud SecurityHardware SecurityPapers & ResearchBinary Exploitation

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
GitHubabraxas/litebox-snp-novalidation-userptr

litebox-snp-novalidation-userptr

높은 로컬 쓰기 프리미티브: LiteBox v0.1.0 SNP UserPtr은 NoValidation이므로 게스트 시스템 콜 버퍼가 커널 VA가 될 수 있음

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

Abraxas Labs - litebox-snp-novalidation-userptr

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  litebox-snp-novalidation-userptr

litebox-snp-novalidation-userptr

분류: 쓰기 프리미티브 (게스트→SNP 커널 R/W) 도달 범위: 로컬

LiteBox v0.1.0 (d8556e3) - Microsoft

SNP LinuxKernel은 UserConstPtr / UserMutPtr를 NoValidation에 연결하며, 이는 포인터를 변경 없이 반환한다. 주석은 TODO: implement pointer validation to ensure the pointers are in user space.이다. LVBS는 이미 USER_ADDR_MIN..USER_ADDR_END(x86_64에서 0x10000 .. 0x7ffffffff000) 범위 검사를 수행하고 복사를 STAC/CLAC로 감싼다. SNP는 그렇지 않다. 커널 VA에 대한 게스트 mmap은 거부되므로(TASK_ADDR_MAX), CPL3 저장은 커널 힙에 도달할 수 없다. 시스템 콜 경로는 커널 모드에서 실행되며 도달할 수 있다. memcpy_fallible은 슈퍼바이저 모드에서 rep movsb이다.

이 잔여물은 게스트→SNP 커널(VMPL2 LiteBox) R/W이다. 호스트 VMPL0도, 하이퍼바이저도, SNP 펌웨어도 아니다.

ID아직 CVE 없음
분류쓰기 프리미티브 (게스트→SNP 커널 R/W)
도달 범위로컬 (litebox_runner_snp 내부의 신뢰할 수 없는 게스트 사용자 공간)
CWECWE-823, CWE-119
CVSS높음: 8.8 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
제품microsoft/litebox
영향받음v0.1.0 (d8556e33676e47244bfefa139c1e9ff95bd67d53) SNP 커널 플랫폼. 97001fd 기준 origin/main에 TODO가 여전히 존재
인증게스트가 이미 SNP VM 내부에서 실행 중
라이선스GNU Affero GPL v3.0
랩127.0.0.1 전용. SNP 하드웨어 없음

공격자가 할 수 있는 것

누가: litebox_runner_snp 내부의 신뢰할 수 없는 게스트 사용자 공간. 이슈 #505(공개 RFC)가 이 분류이다. LVBS는 구현했다. SNP는 하지 않았다.

무결성 (랩에서 입증된 가젯)

랩은 두 검증기의 슈퍼바이저 모드 copy_from_slice 가젯과 litebox_platform_linux_kernel/src/lib.rs의 pin 사본이다. SNP 하드웨어에서의 게스트 시스템 콜이 아니다.

경로대상 VA결과
SNP NoValidation (항등)0x1000 (USER_ADDR_MIN 미만) 및 0xffff800000000000 (GVA_OFFSET)수락; memcpy가 LITEBOX-SNP-NOVALIDATION-USERPTR-WITNESS를 커널로 표시된 객체에 기록
LVBS 범위 검사동일한 커널 대상거부, errno=14 EFAULT, 커널 객체 비어 있음
둘 다합법적 사용자 대상 0x400000둘 다 witness를 사용자 객체에 복사
이미지 내 pin 파일해당 없음TODO 주석과 NoValidation에 연결된 UserConstPtr / UserMutPtr (LvbsValidateAccess 부재)

무결성 (pin 시스템 콜 경로에서 추론)

메서드 + 싱크권한
read / readv / pread / recv* / getcwd / uname / epoll_pwait에서 buf = 커널 VA -> UserMutPtr::copy_from_slice -> memcpy_fallible (rep movsb)시스템 콜당 최대 MAX_KERNEL_BUF_SIZE(512 KiB), 또는 iovec 페이지 청크를 매핑된 임의의 SNP 커널 VA에 기록. 페이로드는 게스트가 선택(게스트가 기록한 파이프/파일)

정찰 (추론)

메서드 + 싱크권한
write / writev / send*에서 buf = 커널 VA -> read_at_offset매핑된 SNP 커널 메모리를 게스트 fd로 읽기
매핑되지 않은 커널 VA예외 테이블을 통한 EFAULT (어떤 커널 페이지가 존재하는지 매퍼)

가용성 (추론)

메서드 + 싱크권한
SNP 커널 힙 / 페이지 테이블 / shim TLS 손상SNP 게스트 커널을 크래시 또는 전환. 신뢰할 수 있는 RIP 가젯은 주장하지 않음

이 잔여물이 부여하지 않는 것

  • 호스트 VMPL0, 하이퍼바이저, SNP 펌웨어
  • LVBS VTL1 (LvbsValidateAccess + STAC/CLAC)
  • 커널 RIP로의 sysretq (sanitize_for_user_return은 비사용자 RIP/RSP를 거부)
  • 커널 VA의 게스트 mmap / mprotect (TASK_ADDR_MAX)
  • Linux/Windows 사용자 공간 NoValidation (동일 프로세스; 그곳의 호스트 경계는 seccomp이며, 이는 형제 잔여물)
  • 그 자체로 SEV-SNP C-bit 기밀성의 파괴는 아님. LiteBox SNP 커널 내부의 혼동된 대리인(confused-deputy) 복사임

어떻게 발견했는가

v0.1.0의 litebox_platform_linux_kernel/src/lib.rs 59-67행. TODO는 여전히 main에 있다. LVBS에는 이미 USER_ADDR_MIN = 0x10000과 USER_ADDR_MAX = 0x7ffffffff000을 가진 LvbsValidateAccess가 있다. 나는 SNP 하드웨어가 없었다. 랩은 pin 파일을 복사하고, 항등 vs 범위 검사를 구현하며, LVBS 검사가 거부하는 대상 VA에 NoValidation을 통해 witness를 기록한다.

랩

cd lab
./run.sh

루프백 127.0.0.1:19130. Compose 프로젝트 litebox-snp-novalidation-userptr. Witness LITEBOX-SNP-NOVALIDATION-USERPTR-WITNESS. 마지막 줄:

SUCCESS litebox-snp-novalidation-userptr novalidation-kernel-write-ok lvbs-range-reject pin-TODO-present user-range-copy-ok LITEBOX-SNP-NOVALIDATION-USERPTR-WITNESS

수정

SNP UserPtr를 LVBS가 이미 가진 것과 동일한 사용자 공간 범위 검사(USER_ADDR_MIN..USER_ADDR_END)에 연결하고, 복사를 예외 테이블 뒤에 유지하라. 커널 플랫폼에 NoValidation을 남기지 마라.

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

연락처

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

도구 다운로드