Errors de seguretat a Windows GDI: riscos, exploits i pegats

Darrera actualització: 6 de desembre de 2025
  • Windows GDI acumula vulnerabilitats de divulgació dinformació, denegació de servei i execució remota de codi que afecten múltiples versions de Windows i Windows Server.
  • Moltes d'aquestes falles s'exploten mitjançant fitxers EMF/WMF o continguts gràfics malformats processats per gdi32.dll i win32k.sys, capaços de provocar BSOD o filtratge de memòria.
  • Microsoft publica pegats en paquets acumulatius amb canvis en binaris com gdi32.dll i ofereix hashes i informació de fitxers per verificar una correcta instal·lació.
  • La combinació de pegat àgil, segmentació de xarxa, restricció de formats gràfics perillosos i monitorització amb EDR és clau per reduir el risc associat a GDI.

fallades de seguretat a Windows GDI

La interfície gràfica de Windows (GDI) fa dècades que dibuixa finestres, textos, icones i imatges sense que la majoria d'usuaris sigui conscient de la seva existència. No obstant això, aquest component tan bàsic del sistema també ha estat l'origen de diverses fallades de seguretat importants, algunes de tipus dia-zero i altres corregits en butlletins massius de pegats de Microsoft. Quan GDI falla, no només es penja una aplicació: en certs casos parlem de filtracions d'informació, execució remota de codi o pantalles blaves (BSOD) que llencen a baix servidors complets.

En les següents línies es desglossa de forma detallada com funciona GDI, quines vulnerabilitats concretes s'han documentat en els darrers anys (com la CVE-2017-11816, la CVE-2020-1435 o la CVE-2023-36884 ), com s'exploten , quin impacte real tenen en entorns domèstics i c ciberseguretat per protegir els seus equips Windows, des de versions antigues com a Windows Vista SP2 fins a edicions modernes de Windows 11 i Windows Server.

Què és Windows GDI i per què és tan delicat a nivell de seguretat

Graphics Device Interface (GDI) és l'API històrica de Windows encarregada de gestionar tot allò que té a veure amb la representació gràfica: des de dibuixar línies i rectangles fins a mostrar fonts tipogràfiques, bitmaps i imatges en pantalla o en impressores. Les aplicacions anomenen funcions de biblioteques com gdi32.dll per crear contextos de dispositiu (HDC), pinzells, plomes, regions i altres objectes gràfics que, per sota, es gestionen en estructures de dades controlades pel nucli.

L'arquitectura de GDI es reparteix entre el mode usuari i el mode kernel . En mode usuari, les DLL gdi32.dll i altres biblioteques relacionades reben les peticions de dibuix de les aplicacions. Aquestes trucades es traslladen al subsistema de finestres de Windows, que corre en mode kernel a través de win32k.sys. Aquesta part en kernel és la que realment manipula la memòria del sistema, valida els objectes gràfics i els envia al maquinari. Qualsevol validació insuficient de punters, mides o índexs en aquest punt obre la porta a errors catastròfics.

Per rastrejar i reutilitzar els recursos, el sistema manté taules d'objectes GDI . Cada procés disposa de la seva pròpia taula, però a més hi ha una taula global per a objectes compartits, cosa que multiplica les possibilitats de corrupció si es produeix un desbordament de memòria intermèdia, un alliberament doble (double-free) o una referència a memòria que ja no és vàlida. Aquest tipus d'error pot acabar en corrupció de la memòria del nucli, condicions de carrera, bloquejos del sistema o fins i tot execució de codi arbitrari en el context més privilegiat del sistema.

Amb l'arribada d'API més modernes (GDI+, Direct2D, DirectWrite o fins i tot DirectComposition), Microsoft ha anat reduint l'ús de GDI en noves aplicacions, però l'ecosistema de programari heretat que encara en depèn és enorme. Aquest llegat fa que GDI segueixi sent una superfície datac molt atractiva per a investigadors i atacants.

vulnerabilitats a Windows GDI

Vulnerabilitats històriques: de la divulgació d'informació al dia zero

Entre les fallades més antigues lligades a GDI destaca una vulnerabilitat de divulgació d'informació documentada com a CVE-2017-11816 . En aquest cas, el problema residia en la manera com GDI manejava determinats objectes en memòria, permetent a un usuari malintencionat recuperar dades del sistema objectiu que no haurien de ser accessibles. No es tractava d'execució de codi, però sí d'una errada seriosa de confidencialitat.

Aquesta vulnerabilitat afectava diferents edicions de Windows i va obligar Microsoft a publicar una actualització de seguretat específica. La decisió es trobava en el tractament intern d'estructures gràfiques, on el subsistema no esborrava o validava adequadament certes zones de memòria abans de reutilitzar-les, de manera que era possible llegir informació residual pertanyent a altres processos o al mateix sistema operatiu.

La correcció va arribar en una actualització de seguretat inclosa al cicle habitual del “dimarts de pegats” d'octubre de 2017 . Juntament amb la descripció de la vulnerabilitat, Microsoft va proporcionar taules extenses amb els fitxers afectats i les seves noves versions: per exemple, diferents compilacions de gdi32.dll per a plataformes x86, x64 i IA-64, amb dates com el 8 de setembre de 2017 i versions d'arxiu de l'estil 6.0.6002.24200. Aquests detalls permetien a administradors confirmar que el pegat s'havia aplicat correctament.

Més endavant, investigadors de Project Zero (Google) van treure a la llum una altra vulnerabilitat dia‑zero relacionada amb gdi32.dll en mode usuari . Aquesta vegada, la decisió afectava el maneig de DIB (Device Independent Bitmaps) incrustats en registres EMF (Enhanced Metafile). La manipulació incorrecta d'aquests bitmaps dins dels metafitxers permetia extreure informació de la memòria del procés, amb impactes directes en la privadesa de les dades.

  Polítiques d'accés al núvol: guia completa per a empreses

Aquest dia‑zero es podia reproduir localment a través d'Internet Explorer i, de manera remota, mitjançant l'Office Online obrint un document DOCX amb un EMF especialment construït. La llista de versions afectades era àmplia: des de Windows Vista Service Pack 2 fins a Windows 10 , passant per versions de Windows Server com 2012 R2 i 2016. El problema es va fer públic després que caduqués el termini estàndard de 90 dies de Project Zero sense que s'hagués publicat un pegat, cosa que va convertir oficialment la decisió en un dia‑.

En paral·lel, Microsoft va tenir un incident ressenyable: un mes en què no va arribar a publicar el paquet de pegats previst per al Patch Tuesday a causa d'un problema intern, endarrerint les correccions fins al cicle següent. Aquest tipus de retard incrementa el temps d'exposició de vulnerabilitats ja conegudes per la comunitat investigadora.

exploit de vulnerabilitats GDI

Errors crítics recents: BSOD, execució remota i grans tandes de pegats

Amb el temps, les vulnerabilitats a GDI han anat evolucionant cap a escenaris més greus. Un cas especialment cridaner és el d'una vulnerabilitat de denegació de servei identificada com a CVE-2023-36884 que impacta a versions de Windows 10 (a partir de la 1607), Windows 11 i Windows Server 2016, 2019 i 2022. Encara que l'identificador s'ha associat a diferents components segons el gràfic capaç de provocar pantalles blaves (BSOD) en processar objectes gràfics malformats.

El problema es relaciona amb la funció NtGdiDdDeleteDeviceBitmap a win32k.sys . En gestionar un bitmap o dispositiu gràfic no vàlid, el codi vulnerable no fa una comprovació exhaustiva dels límits del memòria intermèdia en copiar dades des d'una estructura de dispositiu (per exemple, del tipus DD_DEVICE_OEM). Aquesta omissió permet sobreescriure memòria adjacent al nucli, generant una excepció d'accés a memòria (PAGE_FAULT_IN_NONPAGED_AREA, codi 0x00000050) i disparant el BSOD amb codis com IRQL_NOT_LESS_OR_EQUAL o altres de similars.

El flux d'explotació típic comença amb dades gràfiques incrustades en protocols de xarxa com SMB o RDP, o fins i tot mitjançant WebDAV o serveis d'impressió. Un fitxer EMF mal format viatja com a part d'un document o flux remot, i quan una aplicació com Office, Edge, un visor d'imatges o el mateix Explorador de fitxers intenta interpretar-ne el contingut, s'invoca al subsistema GDI per processar-lo. La rutina d'anàlisi no valida correctament certs registres d'objectes, permetent que es desreferenciï un punter fora de rang i desestabilitzant la memòria del nucli (especialment la Non-Paged Pool).

Tot i que l'impacte recollit en butlletins oficials se centra en la denegació de servei (DoS) , diferents investigadors han apuntat que, amb tècniques més avançades d'explotació de corrupció de memòria (per exemple, atacant el heap), podrien arribar a construir-se cadenes que desemboquin en execució de codi en mode kernel, una cosa semblant al que s'ha vist amb vulnerabilitat CVE-2021-40444).

La criticitat de GDI també s'ha reflectit en grans onades de pegats. Al juliol de 2020, Microsoft va llançar una actualització massiva que corregia 123 vulnerabilitats en els seus productes, de les quals 18 estaven catalogades com a crítiques. Entre aquestes últimes hi havia la CVE-2020-1435, directament relacionada amb la manera com GDI manipula objectes en memòria. Si un atacant aconseguia que la víctima obrís un contingut especialment dissenyat (per exemple, entrant a una web maliciosa), podia provocar l'execució remota de codi amb els mateixos privilegis que l'usuari.

En aquesta mateixa tanda apareixia la CVE-2020-1436, associada al maneig de fonts especialment preparades, i la especialment mediàtica CVE-2020-1350 , una fallada crítica al servidor DNS de Windows amb capacitat de cuc (wormable) capaç de propagar codi maliciós sense interacció de l'usuari. Encara que aquesta última no afecta GDI, il·lustra el context: en un únic paquet de pegats convivien vulnerabilitats en serveis de xarxa, en hipervisors (diversos errors d'execució remota a Hyper-V) i en la pròpia interfície gràfica.

La CVE-2020-1435, en concret, es relaciona amb la manera com GDI maneja objectes gràfics en memòria . Un exploit amb èxit permetria a l'atacant instal·lar programes, veure, modificar o esborrar dades, i crear comptes d'usuari amb permisos totals. El vector típic passa per enganyar l'usuari perquè visiti una pàgina web maliciosa o obri un fitxer que contingui recursos gràfics elaborats per aprofitar el bug. El cas encaixa amb el patró històric de GDI: qualsevol contingut visual que depengui del motor de renderitzat pot ser un vector si el sistema no està actualitzat.

En aquest mateix cicle de pegats de juliol de 2020 també es van anunciar diverses vulnerabilitats crítiques en Hyper‑V (CVE-2020‑1041, ‑1040, ‑1032, ‑1036, ‑1042 i ‑1043) , la qual cosa demostra com diferents components de Windows (xarxa, virtual l'organització no manté un programa de gestió de pegats rigorós.

pegats de seguretat Windows GDI

Impacte real en sistemes Windows, versions afectades i vectors

El ventall de versions afectades per fallades de GDI és ampli. En els casos de dia-zero documentats per Project Zero, la decisió en gdi32.dll afectava Windows Vista SP2, Windows 7, Windows 8.1, Windows 10 i diverses edicions de Windows Server (2012 R2, 2016, etc.). Això implica que un nombre immens dequips, tant domèstics com corporatius, podien ser víctimes de fuites dinformació de memòria simplement obrint un document o navegant amb Internet Explorer o usant Office Online.

  Tipus de Seguretat Informàtica: Protegint les teves Dades

A l'escenari més recent i orientat a BSOD, Microsoft va confirmar que la vulnerabilitat analitzada afecta Windows 10 a partir de la versió 1607, Windows 11 i Windows Server 2016/2019/2022 , incloent edicions Enterprise, Education i LTSC. Versions ja fora de suport estès, com Windows 7 o 8.1, no entren a l'abast oficial del pegat, però això no significa que estiguin lliures de problemes de GDI, sinó que simplement no reben correccions regulars.

A nivell operatiu, l‟impacte es pot resumir en tres categories: divulgació d‟informació (lectura de memòria que hauria de ser privada), denegació de servei (BSOD recurrents) i execució remota de codi . En entorns d'empresa, un BSOD en un servidor amb rols crítics (per exemple, un servidor d'impressió compartida o un amfitrió de Hyper‑V) pot provocar caigudes en cadena: interrupció de serveis d'impressió, aturada imprevista de màquines virtuals, pèrdua de dades en sessions remotes i temps de recuperació llargs.

Des del punt de vista de xarxa, GDI es pot explotar a través de protocols com SMB (port 445), RDP o WebDAV si algun servei processa automàticament imatges o metafitxers EMF/WMF rebuts. En local, només cal que l'usuari obri un fitxer maliciós en aplicacions que facin servir GDI, com Paint, WordPad, visors d'imatges antics o fins i tot processos implicats en la previsualització d'icones i miniatures a l' Explorador de fitxers . Les cadenes d'atac més comunes combinen un correu de pesca amb un document DOCX o PDF que integra un EMF mal format.

En organitzacions regulades (finances, salut, administració pública), els incidents provocats per vulnerabilitats sense pegat poden tenir conseqüències legals i regulatòries. Un BSOD que enderroca un sistema crític es pot considerar un esdeveniment de seguretat que compromet la continuïtat del servei, cosa que alhora pot desencadenar auditories i sancions lligades a marcs com GDPR o HIPAA. A més, diferents informes d'intel·ligència d'amenaces han atribuït l'explotació d'errors en subsistemes gràfics a grups APT que apunten objectius d'alt valor a Àsia i Europa.

Convé recordar que, segons dades habituals al sector (per exemple, les reflectides en informes anuals de bretxes de dades), un percentatge significatiu de dispositius Windows roman sense pegat més de 90 dies després de la publicació d'actualitzacions crítiques. Això deixa una finestra d'oportunitat àmplia perquè els atacants automatitzin exploits i els integrin en frameworks com Metasploit o Cobalt Strike, capaços d'escanejar rangs de xarxa complets a la recerca de hosts vulnerables.

Com distribueix Microsoft les correccions i quin fitxer es modifica

Quan apareix un error en GDI, Microsoft publica una actualització de seguretat que sol agrupar-se als paquets acumulatius mensuals. Aquestes actualitzacions arriben normalment a través del Windows Update , del Catàleg de Microsoft Update o mitjançant eines de gestió com Windows Server Update Services (WSUS) i Microsoft Endpoint Configuration Manager (MECM). En el cas de la vulnerabilitat CVE-2017-11816, l'actualització corresponent (per exemple, KB4042121 per a Windows Server 2008) es podia obtenir tant de Windows Update com del catàleg, en format .msu independent.

Una peculiaritat que Microsoft recalca és que, si s'instal·len paquets d'idioma després d'aplicar l'actualització , cal reinstal·lar el pegat de seguretat. Per això sempre es recomana desplegar primer els idiomes necessaris i després les actualitzacions. Aquest detall, que pot semblar menor, ha provocat més d'un cas en què un sistema estava convençut d'estar pegats quan en realitat certs binaris de GDI no portaven la versió corregida.

A la documentació relacionada amb aquests butlletins, Microsoft proporciona taules molt extenses amb informació d'arxiu : nom (per exemple, gdi32.dll), versió concreta, mida, data, hora i plataforma (x86, x64, IA-64). Aquestes taules permeten a administradors i auditors comprovar de forma forense si el binari correcte està instal·lat. Una cosa semblant passa amb els paquets .msu i .exe de diferents edicions de Windows i Office, on es llisten hashes SHA1 i SHA256 de cada fitxer perquè els equips puguin verificar la seva integritat.

El llistat de fitxers i hashes és aclaparador: des de Windows6.0-KB2834886-x86.msu i les seves variants x64 i ia64, passant per Windows6.1-KB2835364-x64.msu, Windows8-RT-KB2835361-x86.msu, de idiomes (CHS, CHT, DEU, ESN, FRA, ITA, JPN, KOR, PTB, PTG, RUS, etc.), fins a pegats per a components d'Office i Lync com AttendeeAdmin.msp, ogl2007-kb2687309-fullfile-x86-glb. lyncloc2013-kb2817465-fullfile-x64-glb.exe. Cadascun incorpora els seus propis hashes SHA1 i SHA256 per facilitar la verificació.

En tots aquests casos, l'objectiu final és el mateix: que el fitxer gdi32.dll (o els binaris relacionats del subsistema gràfic) quedin actualitzats a la versió segura. En plataformes com Windows Server 2008, per exemple, gdi32.dll es presenta amb una versió 6.0.6002.24200, amb mides que varien segons l'arquitectura (al voltant de 299.520 bytes a x86, 391.680 bytes a x64 i 955.394 bytes) Aquests valors, juntament amb la data de compilació, són la referència bàsica per determinar si el sistema té el pegat aplicat.

  Què cal fer si perdeu l'accés al vostre compte d'Outlook o Microsoft

La documentació oficial també remet a articles de la Knowledge Base amb detalls sobre la implementació i el desplegament d'aquestes actualitzacions, així com enllaços a recursos de suport: pàgines d'ajuda de Windows Update, portals de seguretat per a professionals de TI (com TechNet Security), llocs de suport internacional i serveis específics per a la lluita contra codi maliciós (malware) sota la marca Microsoft Secure.

Bones pràctiques de mitigació, monitorització i resposta

Més enllà d'instal·lar els pegats tan aviat com estiguin disponibles, hi ha una sèrie de mesures de mitigació i de defensa en profunditat que ajuden a reduir el risc associat a fallades de GDI, sobretot en entorns corporatius amb centenars o milers d'equips.

En primer lloc, és recomanable limitar la superfície d'atac deshabilitant o restringint el processament automàtic de certs formats gràfics en aplicacions i navegadors. Per exemple, a Microsoft Edge és possible configurar polítiques de grup per bloquejar o controlar la descàrrega i tractament de metafitxers EMF/WMF, utilitzant claus de registre sota HKLM\SOFTWARE\Policies\Microsoft\Edge relacionades amb restriccions de descàrrega. En altres aplicacions, es pot recórrer a opcions de configuració per evitar la previsualització automàtica de documents procedents d'ubicacions no fiables, i aplicar guies per solucionar que l'Explorador de fitxers no respongui.

Una altra capa essencial és la segmentació de xarxa seguint principis Zero Trust . Això inclou restringir el trànsit SMB, RDP i altres protocols potencialment explotables només a les subxarxes estrictament necessàries, implementar tallafocs de nova generació amb inspecció profunda de paquets i aplicar regles basades en identitat i context. En limitar quins equips poden parlar amb quins serveis, es redueix dràsticament l‟impacte d‟un exploit que intenti propagar-se lateralment.

Al costat de la detecció, la implantació de solucions EDR (Endpoint Detection and Response), com Microsoft Defender for Endpoint, ajuda a monitoritzar comportaments anòmals relacionats amb win32k.sys, gdi32.dll i esdeveniments de BSOD . Configurant alertes sobre pics d'errors de pantalla blava (per exemple, a partir de l'Esdeveniment ID 1001 al Visor d'Esdeveniments) i sobre accessos poc habituals al subsistema gràfic, es poden identificar intents d'explotació o inestabilitats causades per codi maliciós (malware).

Per a la gestió de pegats, és molt recomanable automatitzar el desplegament mitjançant el Windows Update for Business, el WSUS o el MECM, però sempre incorporant una fase de proves en entorns de staging per detectar possibles regressions abans d'arribar a producció. En infraestructures aïllades (air-gapped), convé auditar tots els arxius entrants amb eines com a regles YARA dissenyades per reconèixer patrons sospitosos a EMF/WMF i altres formats gràfics.

En escenaris més avançats, algunes organitzacions valoren migrar progressivament les seves aplicacions internes a API més modernes com Direct2D, DirectWrite o motors gràfics multiplataforma (Cairo, Skia), que ofereixen millor aïllament i menys dependència del llegat de GDI. A mitjà termini, Microsoft podria deprecar parts significatives de GDI en futures versions de Windows per reduir la superfície d'atac, encara que la compatibilitat amb programari antic continuarà sent un repte.

Des de la perspectiva de l'anàlisi forense i el reversing, eines com WinDbg, KD o Volatility permeten disseccionar bolcats de memòria després d'un BSOD i observar la corrupció a la memòria etiquetada com a “Gdi” a la pool del kernel. Els exploits de prova de concepte publicats amb finalitats de recerca mostren com un EMF amb determinats registres malformats (per exemple, a EMR_HEADER) pot forçar la condició de carrera i desencadenar la decisió. Aquest coneixement és clau perquè els equips de resposta a incidents puguin reconstruir què ha passat en un atac real.

En cas d'incident, és recomanable seguir marcs d'actuació com NIST (Identificar, Contenir, Erradicar, Recuperar). Això implica aïllar els equips afectats , preservar evidències (bolcats de memòria, logs, mostres d'arxius sospitosos), desplegar els pegats pendents, escanejar els sistemes amb eines antimalware actualitzades i restaurar des de còpies de seguretat verificades o tornar a un punt anterior . A més, convé revisar periòdicament les lliçons apreses per millorar els processos de pegat i enduriment del sistema.

Tot aquest historial de fallades i pegats al voltant de Windows GDI posa de manifest com poden resultar de fràgils els components heretats quan no hi ha una estratègia ferma d'actualització i seguretat en capes; entendre com s'exploten aquestes vulnerabilitats, quines versions estan en risc i quins controls addicionals es poden aplicar permet a administradors i responsables de ciberseguretat reforçar els seus sistemes i evitar que una simple imatge o un metafitxer especialment dissenyat acabin col·lapsant o comprometent completament una infraestructura Windows.

pegat Windows 10 per a actualitzacions gratis
Article relacionat:
Pegat Windows 10 per a actualitzacions gratuïts: ESU i KB5071959