Linux kodola ievainojamība, kas ļauj palielināt privilēģijas, izmantojot BPF

Publicēts informācija par ievainojamÄ«bu (CVE-2020-8835) Linux kodolā, kas tika izmantots konkursā Pwn2Own 2020 vienlaikus demonstrējot, kā uzlauzt Ubuntu. IevainojamÄ«ba ļāva nepiederoÅ”am lietotājam iegÅ«t root tiesÄ«bas. DarbÄ«gs izmantojums pastāv, bet vēl nav publicēts. IevainojamÄ«ba ir eBPF apakÅ”sistēmā, kas ļauj palaist apdarinātājus izsekoÅ”anai, apakÅ”sistēmu darbÄ«bas analÄ«zei un trafika pārvaldÄ«bai, kas tiek izpildÄ«ti kodola iekÅ”pusē Ä«paŔā virtuālajā maŔīnā ar JIT.

Problēmu izraisa kļūda funkcijā __reg_bound_offset32(), ko izmanto, lai pārbaudÄ«tu 32 bitu darbÄ«bas BPF baitkodā. Nepareizas reÄ£istra robežu aprēķināŔanas dēļ, apstrādājot speciāli izstrādātas BPF lietojumprogrammas, radās nosacÄ«jumi datu ierakstīŔanai un lasīŔanai ārpus pieŔķirtā bufera kodola atmiņas apgabalā. Problēma parādÄ«jās kodolā 5.5 un vēlāk tika pārvietota uz kodolu 5.4, kad tika pārsÅ«tÄ«ti labojumi, kā arÄ« pakotne ar kodolu 5.3, ko piedāvā Ubuntu Linux.

Ieteicams bloķēt ievainojamÄ«bu atritināt problemātisku ielāpu vai neļaujiet nepievilcÄ«giem lietotājiem palaist BPF lietojumprogrammas, iestatot sysctl kernel.unprivileged_bpf_disabled uz 1. Ielāpa statuss izplatÄ«jumos: Ubuntu, Debian, Arka, Fedora Šø SUSE (kodolos RHEL problemātiskās izmaiņas netika nodotas).

Avots: opennet.ru