En sårbarhed i eBPF-subsystemet, der muliggør udførelse af kode på Linux-kernens niveau.

I eBPF-subsystemen, der gør det muligt at køre håndteringsprogrammer inden i Linux-kernen i en speciel virtuel maskine med JIT, er der opdaget en sårbarhed (CVE-2021-4204), som giver en lokal ikke-privilegeret bruger mulighed for at opnå forhøjet privilegium og udføre sin kode på kernel-niveau i Linux. Problemet optræder fra Linux-kernel 5.8 og er endnu ikke blevet rettet (det påvirker også version 5.16). Status for oprettelse af opdateringer, der løser problemet i distributionerne, kan følges på disse sider: Debian, RHEL, SUSE, Fedora, Ubuntu, Arch. Der er meldt om oprettelsen af et fungerende exploit, som forventes offentliggjort den 18. januar (brugere og udviklere har fået en uge til at afhjælpe sårbarheden).

Sårbarheden skyldes en ukorrekt kontrol af de eBPF-programmer, der sendes til udførelse. eBPF-subsystemet leverer hjælpefunktioner, hvis korrekthed verificeres af en speciel verifier. Nogle funktioner kræver, at der sendes en værdi af PTR_TO_MEM som argument, og for at forhindre mulige buffer-overløb skal verifieren kende størrelsen på det hukommelse, der er relateret til argumentet. For funktionerne bpf_ringbuf_submit og bpf_ringbuf_discard blev oplysninger om størrelsen af den overførte hukommelse ikke givet til verifieren, hvilket kunne anvendes til at overskrive hukommelsesområder uden for bufferen, når der blev kørt specielt formateret eBPF-kode.

For at udføre et angreb skal brugeren have mulighed for at indlæse sit BPF-program, og mange af de nyeste Linux-distributioner blokerer som standard for denne mulighed (inklusive, at ikke-privilegeret adgang til eBPF nu er forbudt som standard i selve kernen fra version 5.16). For eksempel kan sårbarheden udnyttes i standardkonfigurationen i Ubuntu 20.04 LTS, men i miljøer som Ubuntu 22.04-dev, Debian 11, openSUSE 15.3, RHEL 8.5, SUSE 15-SP4 og Fedora 33 optræder det kun, hvis administratoren har sat parameteren kernel.unprivileged_bpf_disabled til 0. Som en omgåelse af blokeringen af sårbarheden kan man forbyde udførelse af BPF-programmer af ikke-privilegerede brugere ved hjælp af kommandoen "sysctl -w kernel.unprivileged_bpf_disabled=1".

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster