
# Linux 커널 FUSE 정보 유출(CVE-2024-44947) 개념 증명 익스플로잇 mmap을 통한 EOF 초과 메모리 노출을 시연하고 메모리 덤프 분석을 포함하는 Linux 커널 FUSE 정보 유출(CVE-2024-44947)에 대한 개념 증명 익스플로잇입니다.
설명: Linux 커널에서 다음 취약점이 해결되었습니다: fuse: uptodate 설정 전에 EOF 이후 페이지 콘텐츠 초기화. fuse_notify_store()는 fuse_do_readpage()와 달리 페이지 제로잉을 활성화하지 않습니다(부분 페이지 콘텐츠를 변경하는 데 사용될 수 있기 때문). 따라서 fuse_notify_store()는 페이지를 uptodate로 표시하기 전에 페이지 콘텐츠(파일 끝 이후의 페이지 부분 포함)를 완전히 초기화하는 데 더 주의해야 합니다. 현재 코드는 EOF 이후의 페이지 콘텐츠를 초기화하지 않은 채로 남겨둘 수 있으며, 이로 인해 mmap()을 통해 사용자 공간에 초기화되지 않은 페이지 콘텐츠가 노출됩니다. 이는 정보 유출이지만, init-on-alloc을 활성화하지 않은 시스템(CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y 또는 해당 커널 명령줄 매개변수를 통해)에만 영향을 미칩니다.
메모리 덤프 증가: 메모리 덤프 크기가 8페이지로 두 배로 늘어나 잠재적 유출을 더 광범위하게 볼 수 있습니다.
휴리스틱 엔진: 덤프된 메모리에서 "HTTP" 헤더, "ELF" 헤더 및 기타 알려진 데이터 구조와 같은 특정 패턴을 스캔하는 간단한 휴리스틱 엔진이 도입되었습니다. 이를 통해 유출된 데이터를 더 효과적으로 식별하고 분류할 수 있습니다.
향상된 FUSE 연산: 더 큰 페이로드와 함께 더 복잡한 FUSE 연산이 추가되어 다양한 조건에서 취약점을 트리거할 가능성이 높아졌습니다.
무작위화 및 동적 요소: PoC는 특정 작업에 무작위화를 포함하여 다양한 시나리오를 시뮬레이션하고 다양한 결과를 유발할 수 있도록 하여 익스플로잇을 더 강력하게 만듭니다.
상세 메모리 분석: PoC는 이제 메모리 덤프에 대한 상세 분석을 수행하여 16진수 값을 출력하고 휴리스틱 매칭을 통해 잠재적인 데이터 유출을 식별합니다.
gcc -o fuse_poc_advanced fuse_poc_advanced.c
sudo ./fuse_poc_advanced
이 향상된 PoC는 고급 사용자와 연구자를 위해 설계되었으며 FUSE 취약점을 조사하고 익스플로잇하기 위한 더 포괄적인 프레임워크를 제공합니다. 동적 요소, 정교한 메모리 처리 및 휴리스틱 분석을 포함하여 상세한 취약점 분석 및 익스플로잇 시나리오에 적합합니다.