Udaljeno iskoristive ranjivosti u kernelu FreeBSD, Vim i Emacs

U FreeBSD je otkrivena ranjivost (CVE-2026-4747) koja omogućava izvršavanje koda na razini jezgre slanjem mrežnih paketa na NFS poslužitelj. Problem se javlja pri korištenju modula kgssapi.ko, koji implementira RPCSEC_GSS API na strani jezgre. Osim jezgre, ranjivost utječe na aplikacije u korisničkom prostoru koje koriste biblioteku librpcgss_sec i izvršavaju funkcije RPC poslužitelja. Slične aplikacije koje nisu dio osnovnog sustava FreeBSD također su podložne napadu slanjem mrežnih paketa.

Problem se javlja u implementaciji GSS (Generic Security Services) API-ja, koji omogućava uspostavljanje zaštićenih autentificiranih komunikacijskih kanala s serverom. RPCSEC_GSS se koristi u NFS poslužiteljima za zaštitu pristupa Sun RPC-u koristeći autentifikaciju temeljenu na Kerberosu i šifriranje prometa između poslužitelja i klijenta. Problem je uzrokovan time što se prilikom provjere potpisa podaci iz paketa kopiraju u fiksni bafer bez odgovarajuće provjere veličine. Greška se javlja prije nego što prođe autentifikacija, ali zahtijeva mogućnost slanja mrežnih paketa na NFS poslužitelj. Dostupan je exploit koji omogućava daljinsko pokretanje /bin/sh s pravima root.

Ranjivost je otkrivena od strane zaposlenika tvrtke Anthropic uz pomoć AI asistenta Claude. Zanimljivo je da su vanjski istraživači iz tima Calif iskoristili Claude za pisanje funkcionalnog exploita, dajući kao informaciju samo opći izvještaj o ranjivosti koji je objavio projekt FreeBSD. Osim neposredne eksploatacije ranjivosti, AI model je postavio virtualnu mašinu s ranjivom konfiguracijom, postavio daljinsko debagiranje i čitanje crash dumpova jezgre, kao i organizirao u exploit pokretanje /bin/sh, nakon što je postignuto izvršavanje koda na razini jezgre. Za izradu exploita potrošeno je 4 sata vremena rada modela Claude.

Istraživači koji su stvorili eksploitat nisu se tu zaustavili te su nastavili s eksperimentima koristeći Claude za otkrivanje ranjivosti u Vimu i Emacsu, omogućujući izvršenje vlastitog koda otvaranjem posebno pripremljenih datoteka u tim uređivačima. Zanimljivo je da su prompti za model bili jednostavne definicije zadatka, poput "pronađi 0-day ranjivost u Vimu koja se javlja prilikom otvaranja datoteke". Na kraju, model Claude je uspješno pronašao ranjivosti koje su ranije bile nepoznate.

Ranjivost u Vimu (CVE-2026-34714) nastaje zbog greške prilikom obrade opcije tabpanel u zadano uključenom načinu modeline (":set modeline"), koja omogućuje definiranje opcija uređivanja u obrađivanoj datoteci. Prema zamisli programera Vima, preko modeline se dopušta postavljanje samo ograničenog broja opcija, čiji izrazi se izvode u sandbox modu, dopuštajući samo najjednostavnije sigurne operacije.

Opciji tabpanel nije bio postavljen flaga P_MLE, što je omogućilo korištenje izraza %{expr}, koji se izvršavao bez aktivacije načina modelineexpr. Zaobilaženje sandbox izolacije iskorištavalo je grešku u funkciji autocmd_add(), u kojoj nisu postojale odgovarajuće sigurnosne provjere pri vezivanju akcije za događaj SafeStateAgain, što je omogućilo pokretanje komande nakon izlaska iz sandbox izolacije. Ranjivost je ispravljena u izdanju Vima v9.2.0272. Primjer linije koja dovodi do pokretanja alata "id" i preusmjeravanja izlaza u datoteku "\/tmp\/calif-vim-rce-poc": /* vim: set showtabpanel=2 tabpanel=%{%autocmd_add([{‘event’\:’SafeStateAgain’,’pattern’\:’*’,’cmd’\:’!id>\/tmp\/calif-vim-rce-poc’,’once’\:1}])%}: *\/

Ranjivost u Emacsu nastaje automatiziranom obradom sadržaja direktorija .git\/ kada se on nalazi u istom direktoriju s otvorenom datotekom. U tom slučaju Emacs prilikom otvaranja datoteke pokreće komande "git ls-files" i "git status", izvođene u kontekstu sadržaja ".git\/". Za izvršavanje koda dovoljno je otvoriti datoteku u Emacsu iz direktorija koji sadrži poddirektorij .git\/ s konfiguracijskom datotekom "config", koja uključuje opciju "core.fsmonitor" s napadnom komandom za pokretanje. Prateći GNU Emacs odbio je ispraviti ranjivost, ističući da je problem u Gitu.

Dodatno, valja spomenuti još dvije ranjivosti:

  • CVE-2026-33150 — pristup memoriji nakon njenog oslobađanja u io_uring handleru iz biblioteke libfuse, što potencijalno omogućava izvršavanje koda prilikom iscrpljivanja dostupnih resursa tokom rada sa datotečnim sistemima implementiranim putem FUSE (Filesystem in Userspace).
  • CVE-2026-34743 — prelivanje bafera u implementaciji funkcije lzma_index_append() iz biblioteke liblzma. Problem se manifestira prilikom korišćenja funkcije lzma_index_decoder() za dekodiranje indeksa koji ne sadrži zapise, što vodi do alociranja bafera manjeg od potrebnog. Primećuje se da se niskonivo API lzma_index* veoma retko koristi u aplikacijama i malo je verovatno da će se naći aplikacije u kojima su ostvareni uslovi potrebni za eksploataciju rada sa indeksom. Ranljivost je ispravljena u ažuriranju XZ Utils 5.8.3.

Izvor: opennet.ru

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster