FjÀrrutnyttjade sÄrbarheter i FreeBSD:s kÀrna, Vim och Emacs

En sÄrbarhet har ÄtgÀrdats i FreeBSD (CVE-2026-4747) som gör det möjligt att via nÀtverkspaket till en NFS-server köra kod pÄ kÀrnnivÄ. Problemet uppstÄr vid anvÀndning av kgssapi.ko-modulen som implementerar RPCSEC_GSS API pÄ kÀrnsidan. Förutom kÀrnan berör sÄrbarheten Àven applikationer i anvÀndarrummet som anvÀnder biblioteket librpcgss_sec och utför funktioner som RPC-server. Liknande applikationer, som inte ingÄr i FreeBSD:s grundsystem, kan ocksÄ attackeras genom att skicka nÀtverkspaket.

Problemet finns i implementeringen av GSS (Generic Security Services) API, som möjliggör upprÀttande av sÀkrade autentiserade kommunikationskanaler med servern. RPCSEC_GSS anvÀnds i NFS-servrar för att skydda Ätkomsten till Sun RPC med Kerberos-baserad autentisering och kryptering av trafiken mellan server och klient. Problemet orsakas av att data frÄn paketet kopieras till en fast buffer utan ordentlig storlekskontroll vid signaturverifiering. Felet uppstÄr i ett tidigt skede innan autentiseringen, men krÀver möjlighet att skicka nÀtverkspaket till NFS-servern. En exploit finns tillgÀnglig för att pÄ distans köra /bin/sh med root-rÀttigheter.

SÄrbarheten upptÀcktes av en medarbetare pÄ Anthropic med hjÀlp av AI-assistenten Claude. Noterbart Àr att externa forskare frÄn teamet Calif anvÀnde Claude för att skriva en fungerande exploit, och gav endast den gemensamma sÄrbarhetsrapporten som publicerats av FreeBSD som information. Utöver den direkta exploateringen av sÄrbarheten satte AI-modellen upp en virtuell maskin med en sÄrbar konfiguration, konfigurerade fjÀrrdebuggning och lÀsning av kÀrnans crash-dumpar, samt organiserade i exploitens kodsamling körning av /bin/sh, efter att ha uppnÄtt exekvering av kod pÄ kÀrnnivÄ. Det tog 4 timmars arbetstid för Claude-modellen att skapa exploitens kod.

Forskare som skapade exploiten nöjde sig inte med detta utan fortsatte experimenten och anvÀnde Claude för att identifiera sÄrbarheter i Vim och Emacs, vilket möjliggör att köra sin kod nÀr man öppnar speciellt formaterade filer i redigerarna. Det Àr anmÀrkningsvÀrt att instruktionerna till modellen var enkla och konceptuella, som "hitta en 0-dagars sÄrbarhet i Vim som uppstÄr vid öppning av en fil". Till slut lyckades modellen Claude hitta tidigare okÀnda sÄrbarheter.

SÄrbarheten i Vim (CVE-2026-34714) orsakas av ett fel i behandling av tabpanel-alternativet i det som standard Àr aktiverade modeline-lÀget ("set modeline"), vilket ger möjlighet att definiera redigeringsalternativ i den behandlade filen. Enligt Vim-utvecklarnas avsikt tillÄter modeline endast ett begrÀnsat antal alternativ, dÀr uttrycken utförs i sandbox-lÀge som endast tillÄter enklaste sÀkra operationer.

Flaggan P_MLE var inte stĂ€lld för tabpanel-alternativet, vilket gjorde att uttrycket %{expr} kunde anvĂ€ndas, vilket utfördes utan att aktivera modelineexpr-lĂ€get. För att kringgĂ„ sandbox-isoleringen utnyttjades en brist i funktionen autocmd_add(), dĂ€r det saknades nödvĂ€ndiga sĂ€kerhetskontroller vid bindning av Ă„tgĂ€rder till eventet SafeStateAgain, vilket möjliggjorde att köra kommandon efter att man lĂ€mnat sandbox-isoleringen. SĂ„rbarheten Ă„tgĂ€rdades i utgĂ„van Vim v9.2.0272. Exempel pĂ„ en rad som leder till körning av kommandot "id" och omdirigering av utdata till filen "\/tmp\/calif-vim-rce-poc": \/ * vim: set showtabpanel=2 tabpanel=%{%autocmd_add([{‘event’\:’SafeStateAgain’,’pattern’\:’*’,’cmd’\:’!id>\/tmp\/calif-vim-rce-poc’,’once’\:1}])%}: *\/

SÄrbarheten i Emacs orsakas av automatisk hantering av innehÄllet i .git\/ katalogen, nÀr den placeras i samma katalog som den öppnade filen. I detta fall kör Emacs kommandona "git ls-files" och "git status" nÀr filen öppnas, vilket utförs i kontexten av innehÄllet i ".git\/". För att möjliggöra körning av kod rÀcker det att öppna en fil i Emacs frÄn en katalog som har en underkatalog .git\/ med konfigurationsfilen "config", dÀr alternativet "core.fsmonitor" inkluderar den angivna attacker's kommandot för körning. De ansvariga för GNU Emacs har vÀgrat att ÄtgÀrda sÄrbarheten, och angett att problemet ligger hos Git.

Dessutom kan man nÀmna ytterligare tvÄ sÄrbarheter:

  • CVE-2026-33150 – Ă„tkomst till minne efter det har frigjorts i io_uring-behandlaren frĂ„n libfuse-biblioteket, vilket potentiellt kan möjliggöra exekvering av kod vid uttömning av tillgĂ€ngliga resurser nĂ€r man arbetar med filsystem implementerade via FUSE (Filesystem in Userspace).
  • CVE-2026-34743 – buffertöverskridande i implementeringen av funktionen lzma_index_append() frĂ„n liblzma-biblioteket. Problemet uppstĂ„r vid anvĂ€ndning av funktionen lzma_index_decoder() för att avkoda en index som inte innehĂ„ller nĂ„gon post, vilket leder till att en buffert allokeras som Ă€r mindre Ă€n nödvĂ€ndigt. Det noteras att det lĂ„gnivĂ„ API:et lzma_index* sĂ€llan anvĂ€nds i applikationer och det Ă€r osannolikt att det finns applikationer dĂ€r nödvĂ€ndiga exploateringsförhĂ„llanden för att arbeta med indexet uppfylls. SĂ„rbarheten har Ă„tgĂ€rdats i uppdateringen av XZ Utils 5.8.3.

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster