← Tornar als articles
Seguretat· 3 min de lectura

CVE-2026-45185: execució remota de codi sense autenticació a Exim amb GnuTLS

Exim encara mou bona part del correu d’internet, així que quan apareix una execució remota de codi sense autenticació val la pena parar-hi atenció. El CVE-2026-45185 és exactament això: un use-after-free que afecta les versions 4.97 a 4.99.2 i que es va arreglar a Exim 4.99.3, publicat el 12 de maig de 2026.

Què és la vulnerabilitat

El problema viu en el tancament de la connexió TLS mentre Exim processa trànsit SMTP fragmentat amb BDAT (l’extensió CHUNKING). Durant aquest tancament Exim allibera un búfer de transferència TLS, però conserva referències de callback ja obsoletes que continuen apuntant a aquesta memòria. Quan aquestes referències es fan servir després, s’acaba escrivint en una regió de memòria ja alliberada. D’aquí a controlar el flux d’execució hi ha un pas, i per això el fallada permet executar codi de manera remota.

El detall que el fa seriós és la combinació: no cal autenticar-se. Un atacant que pugui parlar SMTP amb el servidor i forçar el camí BDAT més el tancament TLS té material per intentar l’explotació.

A qui afecta

No totes les instal·lacions d’Exim estan exposades. Perquè la fallada sigui explotable s’han de donar tres condicions alhora:

  • Que el binari estigui compilat contra GnuTLS (les builds amb OpenSSL no es veuen afectades).
  • Que el servidor anunciï STARTTLS.
  • Que el servidor anunciï CHUNKING.

Això és rellevant perquè diverses distribucions empaqueten Exim amb GnuTLS. Debian i Ubuntu, per exemple, distribueixen builds afectades, i totes dues van rebre avís el 8 de maig de 2026 per preparar els pedaços. Si administres un MTA Exim, el primer és comprovar contra quina biblioteca TLS està compilat i quines extensions anuncia en la salutació SMTP.

Gravetat

Som davant d’un RCE remot i sense autenticació, cosa que a la pràctica el col·loca al graó més alt de risc. Un atacant que l’aprofiti podria executar ordres al servidor de correu, llegir les dades i els missatges que gestiona Exim i fer servir aquest accés com a punt d’entrada a la resta de la xarxa interna. En el moment de la divulgació no constava explotació activa i no s’havia publicat un PoC funcional, tot i que sí que es va parlar del camí per construir-lo. Aquesta finestra sense exploit públic no s’hauria de prendre com a excusa per endarrerir el pedaç.

La cronologia va ser ràpida: Federico Kirschbaum, investigador d’XBOW, ho va reportar l’1 de maig; els mantenidors ho van confirmar el 5; les distribucions van rebre avís el 8; i la correcció va arribar amb Exim 4.99.3 el 12 de maig de 2026.

Mitigació

La via directa és actualitzar a Exim 4.99.3 o posterior. A Debian i Ubuntu n’hi ha prou amb instal·lar la versió pedaçada des del gestor de paquets (apt update && apt upgrade) i reiniciar el servei. Si per alguna raó no pots pedaçar de seguida, reduir la superfície ajuda: desactivar CHUNKING treu una de les tres condicions necessàries, i revisar si realment necessites la build amb GnuTLS davant d’una amb OpenSSL és una altra opció a mitjà termini. Tot i així, cap mitigació no substitueix aplicar la versió corregida.

Si t’interessa el patró tècnic darrere d’aquesta mena de fallades, hem cobert un altre use-after-free a la pila TLS del kernel a CVE-2026-23240: use-after-free a TLS del kernel Linux.

Font