NĂ« serverin e postĂ«s Exim Ă«shtĂ« identifikuar njĂ« vulnerabilitet kritik (CVE-2026-45185) qĂ« lejon ekzekutimin e kodit nĂ« distancĂ« nĂ« server. Problemi shfaqet nga dega Exim 4.97 kur kompilohet me bibliotekĂ«n GnuTLS (âUSE_GNUTLS=yesâ) dhe Ă«shtĂ« rregulluar nĂ« lĂ«shimin Exim 4.99.3. NdĂ«rtimet me OpenSSL dhe biblioteka tĂ« tjera, pĂ«rveç GnuTLS, nuk preken nga vulnerabiliteti.
Problemi shkaktohet nga qasja nĂ« memorinĂ« e lirojnĂ« (use-after-free) nĂ« backend-in e GnuTLS dhe mund tĂ« shfrytĂ«zohet kur i drejtohemi serverĂ«ve qĂ« mbĂ«shtesin zgjerimin âESMTP CHUNKINGâ dhe komandĂ«n BDAT pĂ«r tĂ« transmetuar pjesĂ« tĂ« trupit tĂ« letrĂ«s nĂ« vend qĂ« ta dĂ«rgojmĂ« si njĂ« bllok tĂ« pandarĂ« me komandĂ«n DATA. DĂ«mtimi i pĂ«rmbajtjes sĂ« memorisĂ« sĂ« procesit ndodh kur klienti nismon parakohĂ«sisht pĂ«rfundimin e sesionit TLS me komandĂ«n close_notify gjatĂ« dĂ«rgimit tĂ« trupit tĂ« mesazhit pĂ«rmes BDAT dhe pastaj dĂ«rgon njĂ« byte tjetĂ«r nĂ« tĂ« njĂ«jtin lidhje TCP pa e enkriptuar.
Kur komandën close_notify të marrë në backendin GnuTLS, aktivizohet funksioni ndërprerës i sesionit TLS, i cili çliron tamponët e lidhur me sesionin. Për shkak të një gabimi në kodin e backend-it, pavarësisht çlirimit të tamponit TLS, procesori BDAT vazhdon të lexojë të dhëna nga rrjedha dhe aktivizon funksionin ungetc(), i cili, kur dërgohen të dhëna të padhembura më pas, çon në shkritjen e një byte në tamponin tashmë të çliruar. Ky byte dëmton metadata e alokatorit të memories në heap, e cila është përdorur për të kryer eksperimente për krijimin e një eksploit që ekzekuton kod të rastësishëm në serveri.
Fillimisht, hulumtuesit gjeneruan një eksploatues gjysmëfunksional përmes AI, i cili lejonte ekzekutimin e kodit, por funksiononte vetëm në kushte serë, në sisteme me mbrojtje ASLR dhe PIE të çaktivizuara dhe një version të caktuar të bibliotekës libc. Më pas, u përpoqën të krijonin një eksploatues me ndihmën e një njeriu, në të cilin disa vështirësi u tejkaluan dhe u arrit një rrjedhje e adresës së stack-ut, por deri në datën e planifikuar të zbardhjes së informacionit rreth dobësisë, eksploatuesi nuk u finalizua. Sipas mendimit të hulumtuesve që zbuluan dobësinë, asistuesit AI ende nuk janë në gjendje të krijojnë eksploatues për produkte të komplikuara, por shpresojnë se në të ardhmen hulumtues të tjerë do të mund të përfundojnë punën e tyre dhe të shkruajnë një eksploatues funksional të plotë.
Distribucioni i madh i versioneve të Exim 4.97+ përdoret në Debian 13, Ubuntu 24.04+, SUSE/openSUSE, Arch Linux, Alpine Linux 3.19+, ALT Linux p11, ROSA, Gentoo, OpenWRT, Fedora, EPEL (exim nuk përfshihet në depozitat standarde të RHEL) dhe FreeBSD. Ndërtimi i Exim me GnuTLS është i aplikueshëm si standard në Debian dhe Ubuntu, ndërsa në distribucionet e tjera kërkon konfirmim. Si një zgjidhje për të bllokuar vulnerabilitetin, mund të çaktivizoni zgjerimin CHUNKING duke përdorur cilësimin chunking_advertise_hosts në skedarin e konfigurimit.
Burimi: opennet.ru
