Afstandsexploiteerbare kwetsbaarheden in de FreeBSD-kernel, Vim en Emacs

In FreeBSD, a vulnerability (CVE-2026-4747) has been fixed that allows for code execution at the kernel level through the sending of network packets to the NFS server. The issue occurs when using the module kgssapi.ko, which implements the RPCSEC_GSS API at the kernel side. In addition to the kernel, the vulnerability also affects user-space applications that use the librpcgss_sec library and act as RPC servers. Such applications, which are not part of the core FreeBSD system, can also be attacked via the sending of network packets.

The problem exists in the implementation of the GSS (Generic Security Services) API, which allows for the establishment of secure authenticated communication channels with server. RPCSEC_GSS is used in NFS servers to protect access to Sun RPC using Kerberos-based authentication and encryption of traffic between the server and client. The problem is caused by the fact that during signature verification, the data from the packet is copied into a fixed buffer without proper size verification. The error manifests itself before authentication occurs but requires the ability to send network packets to the NFS server. An exploit is available that allows for remote execution of /bin/sh with root privileges.

The vulnerability was discovered by an employee of Anthropic with the help of the AI assistant Claude. Notably, external researchers from the Calif team utilized Claude to write a working exploit, providing only the publicly available general report on the vulnerability published by the FreeBSD project. In addition to directly exploiting the vulnerability, the AI model deployed a virtual machine with a vulnerable configuration, set up remote debugging and reading of kernel crash dumps, and also organized the execution of /bin/sh in the exploit after achieving code execution at the kernel level. The creation of the exploit took 4 hours of work from the Claude model.

De onderzoekers die de exploit hebben gemaakt, hebben zich niet beperkt tot dit en zijn doorgegaan met experimenteren door Claude te gebruiken om kwetsbaarheden in Vim en Emacs te identificeren, die de uitvoer van eigen code mogelijk maken bij het openen van speciaal geformatteerde bestanden in deze editors. Opvallend is dat de prompts voor het model neerkomen op een primitieve probleemstelling, zoals "vind een 0-day kwetsbaarheid in Vim die optreedt bij het openen van een bestand". Uiteindelijk vond het model Claude eerder onbekende kwetsbaarheden.

De kwetsbaarheid in Vim (CVE-2026-34714) wordt veroorzaakt door een fout bij de verwerking van de tabpanel-optie in de standaard ingeschakelde modeline-modus (":set modeline"), die mogelijkheden biedt voor het definiƫren van bewerkingsopties in het verwerkte bestand. Volgens de ontwerpers van Vim is het via modeline alleen toegestaan om een beperkt aantal opties in te stellen, waarvan de uitdrukkingen worden uitgevoerd in een sandbox-modus die alleen de eenvoudigste veilige bewerkingen toestaat.

De tabpanel-optie had de P_MLE-vlag niet ingesteld, waardoor het mogelijk was om de uitdrukking %{expr} te gebruiken, die zonder het activeren van de modelineexpr-modus werd uitgevoerd. Om de sandbox-isolatie te omzeilen, werd een tekortkoming in de functie autocmd_add() gebruikt, waarbij de noodzakelijke beveiligingscontroles ontbraken bij de binding van een actie aan het SafeStateAgain-evenement, waardoor het mogelijk was om een commando uit te voeren na het verlaten van de sandbox-isolatie. De kwetsbaarheid is verholpen in de release van Vim v9.2.0272. Een voorbeeld van een regel die leidt tot het uitvoeren van de "id"-tool en het omleiden van de uitvoer naar het bestand "\/tmp\/calif-vim-rce-poc": \/ * vim: set showtabpanel=2 tabpanel=%{%autocmd_add([{ā€˜event’\:’SafeStateAgain’,’pattern’\:’*’,’cmd’\:’!id>\/tmp\/calif-vim-rce-poc’,’once’\:1}])%}: *\/

De kwetsbaarheid in Emacs wordt veroorzaakt door de automatische verwerking van de inhoud van de .git\/ directory wanneer deze zich in dezelfde directory bevindt als het te openen bestand. In dit geval voert Emacs bij het openen van een bestand de commando’s "git ls-files" en "git status" uit in de context van de inhoud van ".git\/". Om code uit te voeren, is het voldoende om in Emacs een bestand te openen uit een directory met een .git\/ subdirectory die het configuratiebestand "config" bevat, waarin de optie "core.fsmonitor" is ingesteld met de aanvalcommando voor uitvoering. De ontwikkelaars van GNU Emacs hebben geweigerd de kwetsbaarheid te verhelpen, met de opmerking dat het probleem bij Git ligt.

Bovendien kunnen er nog twee andere kwetsbaarheden worden opgemerkt:

  • CVE-2026-33150 — geheugen toewijzing na vrijgave in de io_uring-handler van de libfuse-bibliotheek, wat potentieel de uitvoering van code mogelijk maakt tijdens het runnen van FUSE (Filesystem in Userspace) besturingssystemen bij een uitputting van beschikbare middelen.
  • CVE-2026-34743 — buffer overflow in de implementatie van de functie lzma_index_append() uit de liblzma-bibliotheek. Het probleem doet zich voor bij het gebruik van de functie lzma_index_decoder() voor het decoderen van een index die geen records bevat, en leidt tot een buffer die kleiner is dan nodig is. Er wordt opgemerkt dat de low-level API lzma_index* zelden wordt gebruikt in applicaties, en het is onwaarschijnlijk dat er applicaties zijn die voldoen aan de voorwaarden voor uitbuiting met de index. De kwetsbaarheid is verholpen in de update XZ Utils 5.8.3.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster