Vulnérabilité dans les fichiers UEFI de Phoenix, touchant de nombreux appareils avec des CPU Intel

Une vulnérabilité (CVE-2024-0762) a été détectée dans les firmwares UEFI Phoenix SecureCore, utilisés sur de nombreux ordinateurs portables, PC et serveurs équipés de processeurs Intel, permettant l'exécution de code au niveau du firmware en cas d'accès au système. Cette vulnérabilité peut être exploitée après une attaque réussie sur le système pour insérer un backdoor dans le firmware, fonctionnant au-dessus du système d'exploitation, contournant les mécanismes de sécurité, échappant à la détection par des programmes antivirus, et maintenant sa présence après la réinstallation du système d'exploitation.

La vulnérabilité est causée par une utilisation non sécurisée de la variable TCG2_CONFIGURATION dans la configuration TPM (Trusted Platform Module), dont les manipulations peuvent entraîner un débordement de tampon et une exécution potentielle de code avec des privilèges du firmware UEFI, c'est-à-dire au niveau SMM (System Management Mode), plus prioritaire que le mode hyperviseur et le ring zéro de sécurité, offrant un accès illimité à toute la mémoire système. La vulnérabilité est présente dans le code de traitement de la configuration TPM dans UEFI et se manifeste indépendamment de la présence d'une puce TPM.

La cause du débordement observé est un appel incorrect répété du service UEFI GetVariable, lorsque la valeur de TCG2_CONFIGURATION dépasse la taille initialement allouée dans la mémoire tampon. Dans les deux appels, la même variable avec la taille data_size est utilisée sans modification après le premier appel. Si un attaquant a la possibilité de modifier la valeur de la variable UEFI TCG2_CONFIGURATION pendant l'exécution du système, il peut la régler suffisamment grande pour que le premier appel retourne le code EFI_BUFFER_TOO_SMALL. Comme, après le premier appel, la valeur de data_size sera définie sur la taille de la variable TCG2_CONFIGURATION plutôt que sur la taille initialement définie de la mémoire tampon, le second appel entraînera un débordement de tampon.

void Function_0000537c(void){
…
ulonglong data_size;
char buffer [8];
…

EVar1 = (*gRS_2->GetVariable)
((CHAR16 *)TCG2_CONFIGURATION, &gTCG2_CONFIG_FORM_SET_GUID,
(UINT32 *)0x0, &data_size, buffer);

if (EVar1 == EFI_BUFFER_TOO_SMALL) {
EVar1 = (*gRS_2->GetVariable)
((CHAR16 *)TCG2_CONFIGURATION,&gTCG2_CONFIG_FORM_SET_GUID,
(UINT32 *)0x0,&data_size,buffer)

Le problème se manifeste dans les firmwares Phoenix SecureCore, utilisés sur des appareils avec les processeurs Intel des familles AlderLake, CoffeeLake, CometLake, IceLake, JasperLake, KabyLake, MeteorLake, RaptorLake, RocketLake et TigerLake. La possibilité de mener une attaque sur un système spécifique dépend des paramètres du firmware et de la possibilité d'accéder à la variable TCG2_CONFIGURATION. Un exemple d'exploitation de la vulnérabilité a été démontré sur les ordinateurs portables Lenovo ThinkPad X1 Carbon de génération Gen et Lenovo ThinkPad X1 Yoga de 4ème génération. La vulnérabilité a été corrigée dans les mises à jour des firmwares d'avril et de mai de Technologies et Lenovo.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster