Mga kahuyangan sa eBPF subsystem sa Linux kernel

Ang usa ka kahuyang (CVE-2021-29154) giila sa eBPF subsystem, nga nagtugot kanimo sa pagpadagan sa mga handler alang sa pagsubay, pag-analisar sa operasyon sa mga subsystem ug pagdumala sa trapiko, nga gipatuman sulod sa Linux kernel sa usa ka espesyal nga virtual machine nga adunay JIT, nga nagtugot sa usa ka lokal nga tiggamit aron makab-ot ang pagpatuman sa ilang code sa lebel sa kernel. Ang problema makita hangtod sa pagpagawas sa 5.11.12 (inclusive) ug wala pa naayo sa mga distribusyon (Debian, Ubuntu, RHEL, Fedora, SUSE, Arch). Ang pag-ayo magamit ingon usa ka patch.

Sumala sa mga tigdukiduki nga nakaila sa kahuyang, nakahimo sila sa paghimo sa usa ka nagtrabaho nga prototype sa pagpahimulos alang sa 32- ug 64-bit x86 nga mga sistema, nga mahimong magamit sa usa ka walay pribilehiyo nga tiggamit. Bisan pa, ang Red Hat nag-ingon nga ang kagrabe sa problema nagdepende kung ang tawag sa sistema sa eBPF ma-access sa tiggamit. Pananglitan, sa RHEL ug kadaghanan sa ubang mga distribusyon sa Linux sa default configuration, ang vulnerability mahimong mapahimuslan kung ang BPF JIT ma-enable ug ang user adunay CAP_SYS_ADMIN nga mga katungod. Isip usa ka workaround, girekomenda nga i-disable ang BPF JIT gamit ang command: echo 0 > /proc/sys/net/core/bpf_jit_enable

Ang problema tungod sa usa ka sayup sa pagkalkula sa offset alang sa mga panudlo sa sanga sa panahon sa proseso sa paghimo sa code sa makina sa JIT compiler. Sa partikular, sa paghimo sa mga instruksyon sa sanga, wala kini isipa nga ang offset mahimong mausab human sa pag-agi sa optimization stage. Kini nga depekto mahimong gamiton aron makamugna og anomalous nga code sa makina ug ipatuman kini sa lebel sa kernel.

Mamatikdan nga dili lang kini ang kahuyang sa subsystem sa eBPF bag-o lang. Sa katapusan sa Marso, duha pa ka mga kahuyangan ang nahibal-an sa kernel (CVE-2020-27170, CVE-2020-27171), nga nagpaposible sa paggamit sa eBPF aron makalikay sa proteksyon batok sa mga kahuyangan sa klase sa Specter, nga nagtugot sa pagtino sa mga sulud sa memorya sa kernel isip resulta sa pagmugna og mga kondisyon alang sa espekulatibo nga pagpatuman sa pipila ka mga operasyon. Ang pag-atake sa Spectre nanginahanglan sa presensya sa usa ka piho nga han-ay sa mga mando sa pribilihiyo nga code nga nagdala sa espekulatibo nga pagpatuman sa mga panudlo. Sa eBPF, daghang mga paagi ang nakit-an aron makamugna ang ingon nga mga panudlo pinaagi sa pagmaniobra sa mga programa sa BPF nga gipasa alang sa pagpatuman.

Ang pagkahuyang sa CVE-2020-27170 gipahinabo sa pagmaniobra sa pointer sa BPF verifier nga hinungdan sa mga espekulatibo nga operasyon nga maka-access sa usa ka lugar sa gawas sa mga utlanan sa buffer. Ang pagkahuyang nga CVE-2020-27171 tungod sa usa ka integer underflow error kung nagtrabaho uban ang mga pointer, nga nagtultol sa espekulatibo nga pag-access sa datos sa gawas sa buffer. Kini nga mga problema naayo na sa kernel releases 5.11.8, 5.10.25, 5.4.107, 4.19.182 ug 4.14.227, ug naapil usab sa kernel updates para sa kadaghanan sa Linux distributions. Ang mga tigdukiduki nag-andam og usa ka prototype nga pagpahimulos nga nagtugot sa usa ka walay pribilehiyo nga tiggamit sa pagkuha sa datos gikan sa kernel memory.

Source: opennet.ru

Idugang sa usa ka comment