Kwetsberheden yn it eBPF-subsysteem fan 'e Linux-kernel

In kwetsberens (CVE-2021-29154) waard identifisearre yn it eBPF-subsysteem, wêrtroch jo handlers kinne útfiere foar tracing, analysearjen fan de wurking fan subsystemen en it behearen fan ferkear, útfierd binnen de Linux-kernel yn in spesjale firtuele masine mei JIT, wêrtroch in lokale brûker om útfiering fan har koade op kernelnivo te berikken. It probleem ferskynt oant de frijlitting fan 5.11.12 (ynklusyf) en is noch net fêst yn distribúsjes (Debian, Ubuntu, RHEL, Fedora, SUSE, Arch). De fix is ​​te krijen as patch.

Neffens de ûndersikers dy't de kwetsberens identifisearre, wiene se yn steat om in wurkjend prototype fan 'e eksploitaasje te ûntwikkeljen foar 32- en 64-bit x86-systemen, dy't kin wurde brûkt troch in unprivileged brûker. Red Hat merkt lykwols op dat de earnst fan it probleem hinget ôf fan oft de eBPF-systeemoprop tagonklik is foar de brûker. Bygelyks, op RHEL en de measte oare Linux-distribúsjes yn 'e standertkonfiguraasje, kin de kwetsberens brûkt wurde as BPF JIT ynskeakele is en de brûker CAP_SYS_ADMIN-rjochten hat. As oplossing is it oan te rieden om BPF JIT út te skeakeljen mei it kommando: echo 0 > /proc/sys/net/core/bpf_jit_enable

It probleem wurdt feroarsake troch in flater by it berekkenjen fan de offset foar branchynstruksjes tidens it proses fan generaasje fan masinekoade fan 'e JIT-kompiler. Yn it bysûnder, by it generearjen fan tûke-ynstruksjes, wurdt net rekken holden dat de offset kin feroarje nei it trochjaan fan it optimalisaasjestadium. Dizze flater kin brûkt wurde om anomale masinekoade te generearjen en it út te fieren op it kernelnivo.

It is opmerklik dat dit net de ienige kwetsberens is yn it eBPF-subsysteem koartlyn. Ein maart waarden noch twa kwetsberens identifisearre yn 'e kernel (CVE-2020-27170, CVE-2020-27171), wêrtroch it mooglik is om eBPF te brûken om beskerming tsjin Spectre-klasse kwetsberens te omgean, wêrtroch it fêststellen fan de ynhâld fan kernelûnthâld mooglik is. as gefolch fan it skeppen fan betingsten foar de spekulative útfiering fan bepaalde operaasjes. De Spectre-oanfal fereasket de oanwêzigens fan in bepaalde folchoarder fan kommando's yn privilegearre koade dy't liedt ta spekulative útfiering fan ynstruksjes. Yn eBPF binne ferskate manieren fûn om sokke ynstruksjes te generearjen troch manipulaasjes mei BPF-programma's dy't oerdroegen binne foar útfiering.

De CVE-2020-27170-kwetsberens wurdt feroarsake troch oanwizermanipulaasje yn 'e BPF-verifier dy't spekulative operaasjes feroarsaket om tagong te krijen ta in gebiet bûten de buffergrinzen. De kwetsberens CVE-2020-27171 is te tankjen oan in folslein getal ûnderstreamflater by it wurkjen mei pointers, wat liedt ta spekulative tagong ta gegevens bûten de buffer. Dizze problemen binne al fêst yn kernel releases 5.11.8, 5.10.25, 5.4.107, 4.19.182 en 4.14.227, en binne ek opnommen yn kernel updates foar de measte Linux-distribúsjes. Ûndersikers hawwe taret in prototype eksploitaasje wêrmei in unprivileged brûker te extract gegevens út kernel ûnthâld.

Boarne: opennet.ru

Add a comment