Kwetsbaarheid in Vim en Neovim redacteuren leidt tot code-uitvoering, terwijl een kwaadaardig bestand

In tekstverwerkers Vim en Neovim werd gevonden een kwetsbaarheid (CVE-2019-12.735), waardoor willekeurige code uitvoeren, terwijl een speciaal bestand openen.

THet probleem manifesteert zich met de activiteit van de modeline standaard ingeschakeld (“: Het patroon set“), die het mogelijk maakt het definiëren van bewerkingsopties in het bestand dat wordt verwerkt. Kwetsbaarheid geëlimineerd in Vim 8.1.1365 En Neovim 0.3.6 releases.

Door modeline, slechts een beperkt aantal opties toegestaan. Als expressie is opgegeven als optiewaarde, het wordt uitgevoerd in de sandbox-modus, waarmee alleen de eenvoudigste veilige bewerkingen kunnen worden gebruikt.

Tegelijkertijd, De “: Bron” commando is en daarin kan worden gebruikt “!” Modifier om willekeurige opdrachten uit een gespecificeerd bestand uit te voeren. Dus, om de code uit te voeren, het is voldoende om in de modellijn een constructie van de vorm aan te geven “set foldexpr = uitvoeren (‘\: Bron! Some_file'):“. in Neovim, uitvoeren bellen is verboden, Maar assert_fails kan in plaats daarvan worden gebruikt.

Bijvoorbeeld, uitvoeren “uname -a” opdracht, open gewoon een bestand in Vim of Neovim, waarvan de eerste of laatste regel zegt::

:!uname -a||" vi:fen:fdm=expr:fde=assert_fails("source\!\ \%"):fdl=0:fdt="

De “Bron!%” commando leest commando's uit het huidige bestand en, overeenkomstig, uitvoeren “:! uname -a“. Om deze regel te verbergen voor uitvoer door het cat-hulpprogramma:, kunnen escape-reeksen worden gebruikt.

Bijvoorbeeld, In dit prototype van een exploit tijdens de werking van een bestand in vim, netwerkverbinding gemaakt met shell-toegang tot het systeem van het slachtoffer, maar dit bestand zal geen argwaan wekken bij uitvoer naar de terminal met het cat-hulpprogramma.

U kunt de modeline-activiteit controleren met behulp van de “: Het patroon set?” opdracht. Om vimrc uit te schakelen, je kunt de regel toevoegen “stel nomodeline in“. in distributies, het probleem is opgelost in RHEL, SUSE / openSUSE, Fedora, FreeBSD, Ubuntu, Arch Linux En ALT. Kwetsbaarheid blijft ongecorrigeerd in Debian.

Bron: https://nvd.nist.gov

Polina Lisovskaja

Ik werk al jaren als marketingmanager en zoek graag naar interessante onderwerpen voor jou

Laat een antwoord achter

Terug naar boven knop