Një vulnerabilitet kritik (CVE-2026-45185) është zbuluar në serverin e postës Exim, i cili lejon ekzekutimin e kodit në distancë në server. Problemi ndodh që nga dega Exim 4.97 kur është ndërtuar me bibliotekën GnuTLS ("USE_GNUTLS=yes") dhe është korrigjuar në versionin Exim 4.99.3. Ndërtesat me OpenSSL dhe biblioteka të tjera të ndryshme nga GnuTLS nuk janë prekur nga ky vulnerabilitet.
Problemi shkaktohet nga referimi në një memorie tashmë të liruar (use-after-free) në backend-in GnuTLS dhe mund të duhet të shfrytëzohet duke u lidhur me serverë që mbështesin zgjerimin "ESMTP CHUNKING" dhe komandën BDAT për të transferuar pjesë të trupit të mesazhit në vend të dërgimit të tij si një bllok të patheksueshëm përmes komandës DATA. Dëmtimi i përmbajtjes së memories së procesit ndodh kur klienti inicion para kohe mbylljen e seancës TLS përmes komandës close_notify gjatë dërgimit të trupit të mesazhit përmes BDAT dhe më pas dërgon një bajt tjetër në të njëjtin lidhje TCP pa enkriptim në mënyrë të hapur.
Pas marrjes së komandës close_notify, në backend-in GnuTLS thirret funksioni i ndërprerjes së seancës TLS, i cili liro të gjitha tamponet e lidhura me seancën. Për shkak të një gabimi në kodin e backend-it, pavarësisht lirimit të tamponit TLS, menaxhuesi i BDAT vazhdon të lexojë të dhënat nga rrjedha dhe thirret funksioni ungetc(), që kur dërgohen më pas të dhëna të paenkriptuara, rezulton në shkrimin e një bajti në një tampon tashmë të liruar. Ky bajt dëmton metadata të alokatorit të memories në heap, që është përdorur për eksperimente për krijimin e një eksploit që ekzekuton kod të arbitrshëm në сервере.
Fillimisht, hulumtuesit gjeneruan një eksploit pjesërisht funksional përmes AI, i cili mundësoi ekzekutimin e kodit, por ishte operativ vetëm në kushte të përkryera, në sisteme pa mbrojtjen ASLR dhe PIE, dhe me një version të caktuar të bibliotekës libc. Më pas u bë një përpjekje për të krijuar një eksploit me ndihmën e një njeriu, ku disa nga vështirësitë u tejkaluan dhe u arrit një rrjedhje e adresës së stack-ut, por deri në datën e planifikuar të publikimit të informacionit mbi vulnerabilitetin, eksploitit nuk iu arrit të përfundohej. Sipas hulumtuesve që zbuluan vulnerabilitetin, asistentët e AI ende nuk janë në gjendje të krijojnë eksploitë për produkte komplekse, por shpresojnë se në të ardhmen hulumtues të tjerë do të jenë në gjendje të përfundojnë punën e tyre dhe të shkruajnë një eksploit plotësisht funksional.
Disa nga distribucione më të mëdha, versionet Exim 4.97+ përdoren në Debian 13, Ubuntu 24.04+, SUSE/openSUSE, Arch Linux, Alpine Linux 3.19+, ALT Linux p11, ROSA, Gentoo, OpenWRT, Fedora, EPEL (exim nuk është i përfshirë në repository-n standard RHEL) dhe FreeBSD. Ndërtimi i Exim me GnuTLS përdoret si parazgjedhje në Debian dhe Ubuntu, ndërsa në distribucione të tjera kërkon konfirmim. Si një mënyrë për të anashkaluar bllokimin e dobësisë, mund të çaktivizoni zgjerimin CHUNKING përmes konfigurimit chunking_advertise_hosts në skedarin e konfigurimit.
Burimi: opennet.ru
