Exim'i e-posti serveris tuvastati kriitiline haavatavus (CVE-2026-45185), mis võimaldab kaugtäitevõimet serveris. Probleem ilmneb alates Exim'i 4.97 harust, kui see on koostatav GnuTLS teegiga («USE_GNUTLS=yes»), ja on lahendatud Exim 4.99.3 väljaandes. OpenSSL ja teiste teekide kooste ei mõjuta see haavatavus.
Probleem tuleneb vabastatud mälu (use-after-free) käsitsemisest GnuTLS tagaplaanis ja seda saab ära kasutada serveritega suhtlemisel, mis toetavad «ESMTP CHUNKING» laiendust ja BDAT käsku, et edastada kirja sisu osade kaupa, mitte ühes tükis DATA käsu kaudu. Mälu kahjustamine protsessi käigus tekib, kui klient algatab TLS seansi enneaegse lõpetamise käsku close_notify ajal, edastades BDAT'e kaudu sõnumi sisu ja saates seejärel samas TCP-ühenduses ühe krüpteerimata bait.
Saades GnuTLS-i backend'i kaudu close_notify käsu saamisel käivitub TLS-seansi katkestamise funktsioon, mis vabastab seansiga seotud puhvrid. Backend'i koodi vea tõttu, hoolimata TLS-puhvri vabastamisest, jätkab BDAT'i töötleja andmete lugemist voost ja kutsub funktsiooni ungetc(), mis saadab ebašifritud andmete edasise saatmise korral ühe bait vabastatud puhvri. See bait rikub mäluhalduri metadata kuhis, mida on kasutatud katsete tegemiseks tööriistade loomisel, mis täidavad juhuslikku koodi. serveril.
Alguses genereerisid teadlased AI abil osaliselt töötava eksploitatsiooni, mis võimaldas koodi täitmist, kuid see töötas ainult kasvuhoone tingimustes, süsteemides, kus ASLR ja PIE kaitse oli välja lülitatud, ning teatud versiooniga libc raamatukogust. Seejärel tehti katse luua inimeste kaasabil eksploitatsioon, millega õnnestus ületada mõned raskused ja saavutada mälust koti aadressi leke, kuid plaanitud haavatavuse avalikustamise kuupäevaks ei olnud eksploitatsiooni lõpule viidud. Haavatavuse avastanud teadlaste arvates ei ole AI-assistendid veel võimelised looma eksploitatsioone keerukate toodete jaoks, kuid nad loodavad, et tulevikus suudavad teised teadlased nende tööd lõpule viia ja kirjutada täielikult toimiva eksploitatsiooni.
Suuremate distributsioonide versioonid Exim 4.97+ on kasutusel Debian 13, Ubuntu 24.04+, SUSE/openSUSE, Arch Linux, Alpine Linux 3.19+, ALT Linux p11, ROSA, Gentoo, OpenWRT, Fedora, EPEL (exim ei kuulu RHEL-i vaikerepositooriumisse) ja FreeBSD. Exim GnuTLS-iga koostamine on Debianis ja Ubuntu-s vaikimisi, teistes distributsioonides on see vajalik täpsustada. Haavatavuse blokeerimiseks saab kasutada ümberhiilimist, keelates CHUNKING laienduse, muutes chunking_advertise_hosts seadistust konfiguratsioonifailis.
Allikas: opennet.ru
