Diaľkovo zneužiteľné zraniteľnosti v jadre FreeBSD, Vim a Emacs.

Vo FreeBSD bola odstránená zraniteľnosť (CVE-2026-4747), ktorá umožňuje vykonanie kódu na úrovni jadra zaslaním sieťových paketov na NFS server. Problém sa prejavuje pri použití modulu kgssapi.ko, ktorý implementuje API RPCSEC_GSS na straně jadra. Okrem jadra zraniteľnosť ovplyvňuje aj aplikácie v používateľskom priestore, ktoré používajú knižnicu librpcgss_sec a vykonávajú funkcie RPC servera. Podobné aplikácie, ktoré nie sú súčasťou základného systému FreeBSD, môžu byť tiež napadnuté zaslaním sieťových paketov.

Problém je prítomný v implementácii API GSS (Generic Security Services), ktorý umožňuje vytvárať chránene autentizované komunikačné kanály s serverom. RPCSEC_GSS sa používa v NFS serveroch na zabezpečenie prístupu k Sun RPC s použitím autentizácie založenej na Kerberos a šifrovania prevádzky medzi serverom a klientom. Problém je spôsobený tým, že pri overovaní podpisu sa dáta z paketu kopírujú do fixného buffera bez riadneho overovania zodpovedajúcej veľkosti. Chyba sa prejavuje ešte pred overením autentizácie, ale vyžaduje si možnosť zaslať sieťové pakety na NFS server. K dispozícii je exploit, ktorý umožňuje vzdialene spustiť /bin/sh s právami root.

Zraniteľnosť bola odhalená zamestnancom spoločnosti Anthropic pomocou AI asistenta Claude. Zaujímavé je, že externí výskumníci z tímu Calif využili Claude na napísanie funkčného exploit, pričom poskytli len verejnú správu o zraniteľnosti vydanú projektom FreeBSD. Okrem priamého využitia zraniteľnosti AI model nasadil virtuálny stroj s zraniteľnou konfiguráciou, nastavil vzdialené ladenie a čítanie crash dumpov jadra, a taktiež zorganizoval v exploite spustenie /bin/sh, po dosiahnutí vykonania kódu na úrovni jadra. Na vytvorenie exploitu bolo vynaložených 4 hodiny času práce modelu Claude.

Výskumníci, ktorí vytvorili exploit, sa nezastavili len pri tom a pokračovali v experimentoch, pričom využívali Claude na identifikáciu zraniteľností vo Vim a Emacs, ktoré umožnili vykonanie vlastného kódu pri otvorení špeciálne formátovaných súborov v týchto editoroch. Zaujímavé je, že príkazy pre model boli zjednodušené na primitívne formulácie úloh, ako napríklad „nájdi 0-day zraniteľnosť vo Vim, ktorá vzniká pri otvorení súboru“. Nakoniec model Claude úspešne našiel predtým neznáme zraniteľnosti.

Zraniteľnosť vo Vim (CVE-2026-34714) je spôsobená chybou pri spracovaní možnosti tabpanel v predvolene zapnutom režime modeline (":set modeline"), ktorý umožňuje definovanie možností úprav v spracovávanom súbore. Podľa návrhu vývojárov Vim je cez modeline povolené nastavenie len obmedzeného počtu možností, pričom výrazy v nich sa vykonávajú v pieskovisku, ktoré povoluje len najjednoduchšie bezpečné operácie.

Pre možnosť tabpanel nebol nastavený flag P_MLE, čo umožnilo použitie výrazu %{expr}, vykonávaného bez aktivácie režimu modelineexpr. Na obídenie pieskoviskovej izolácie sa využila nedokonalosť vo funkcii autocmd_add(), v ktorej chýbali riadne bezpečnostné kontroly pri viazaní akcie na udalosti SafeStateAgain, čo umožnilo aktivovať príkaz po opustení pieskoviskovej izolácie. Zraniteľnosť bola opravená v vydaní Vim v9.2.0272. Príklad riadku, ktorý vedie k spusteniu utilitky „id“ a presmerovaniu výstupu do súboru „/tmp/calif-vim-rce-poc“: /* vim: set showtabpanel=2 tabpanel=%{%autocmd_add([{‘event’\:’SafeStateAgain’,’pattern’\:’*’,’cmd’\:’!id>/tmp/calif-vim-rce-poc’,’once’\:1}])%}: */

Zraniteľnosť v Emacs je spôsobená automatickým spracovaním obsahu adresára .git/, keď je umiestnený v tom istom adresári s otvoreným súborom. V takom prípade Emacs pri otvorení súboru spúšťa príkazy „git ls-files“ a „git status“, vykonávané v kontexte obsahu „.git/“. Na organizovanie vykonania kódu stačí otvoriť v Emacs súbor z adresára, v ktorom sa nachádza podadresár .git/ s konfiguračným súborom „config“, ktorý obsahuje možnosť „core.fsmonitor“ s príkazom určeným útočníkom na spustenie. Správci GNU Emacs sa odmietli zbaviť zraniteľnosti, pričom uviedli, že problém spočíva v Gite.

Okrem toho možno spomenúť ešte dve zraniteľnosti:

  • CVE-2026-33150 – prístup k pamäti po jej oslobodení v io_uring spracovateľovi z knižnice libfuse, potenciálne umožňujúce vykonanie kódu pri vyčerpaní dostupných zdrojov počas práce s implementovanými súborovými systémami cez FUSE (Filesystem in Userspace).
  • CVE-2026-34743 – pretečenie vyrovnávacej pamäte v implementácii funkcie lzma_index_append() z knižnice liblzma. Problém sa prejavuje pri používaní funkcie lzma_index_decoder() na dekódovanie indexu, ktorý neobsahuje záznamy, a vedie k alokovaniu vyrovnávacej pamäte menšej, než je potrebné. Upozorňuje sa, že nízkoúrovňové API lzma_index* sa v aplikáciách používa mimoriadne zriedka a je málo pravdepodobné, že budú existovať aplikácie, v ktorých sa vykonávajú potrebné podmienky pre zneužiteľnosť s indexom. Zraniteľnosť bola odstránená v aktualizácii XZ Utils 5.8.3.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster