kernel áĄáá˝ááşá¸áážá handler ááťáŹá¸ááᯠexecute ááŻááşáá˝ááˇáşááźáŻáááˇáş eBPF subsystem áá˝ááş áĄáŹá¸áááşá¸ááťááşáĄáá áşáážá áşááŻááᯠáážáŹáá˝áąáá˝áąáˇáážááá˛áˇáááşá Linux JIT ááŤáážáááąáŹ áĄáá°á¸ virtual machine áá áşááŻáá˝ááşá áĄáŹá¸áááşá¸ááťááşáážá áşááŻá ááŻáśá¸áááş ááŽá¸ááźáŹá¸ eBPF virtual machine ááźááşááá˝ááş kernel privileges ááťáŹá¸ááźááˇáş code execute ááŻááşáá˝ááˇáşááźáŻáááşá ááźáżááŹááťáŹá¸áážááˇáşáááşáááşáááˇáş áĄááťááşáĄáááşááťáŹá¸ááᯠáááŻáážá áşáá˝ááş áááŻááşáááŻááşáážáŻááŻáśá¸ááŻááᯠááźááá˛áˇááąáŹ Pwn2Own ááźááŻááşáá˝á˛ááᯠáŚá¸ááąáŹááşáááˇáş Zero Day Initiative áĄáá˝á˛áˇááž ááŻááşááźááşáá˛áˇáááşá Ubuntu Linuxááááşá ááááážááá˛áˇááąáŹ áĄáŹá¸áááşá¸ááťááşááťáŹá¸ááᯠáĄááŻáśá¸ááťáá˛áˇáááş (eBPF áážá áĄáŹá¸áááşá¸ááťááşááťáŹá¸áááş á¤áááŻááşáááŻááşáážáŻááťáŹá¸áážááˇáş áááşá ááşáážáŻáážáááážáááᯠáááąáŹáşááźááŹá¸ááŤ)á
- CVE-2021-3490 - eBPF ALU32 áá˝ááş bitwise AND, OR, áážááˇáş XOR ááŻááşááąáŹááşááťááşááťáŹá¸ááᯠááŻááşááąáŹááşáááˇáşáĄá፠áĄáŹá¸áááşá¸ááťááşáážáŹ 32-bit áĄááźááş-ááąáŹááşááťáŹá¸ á á áşááąá¸ááźááşá¸ ááážáááźááşá¸ááźáąáŹááˇáş ááźá áşááąáŤáşááŹááźááşá¸ááźá áşáááşá áááŻááşáááŻááşáá°áááş áá˝á˛ááąááąá¸ááŹá¸áááˇáşááźáŹá¸ááśáááąáŹááşáĄááźááşáááşáá˝ááş ááąááŹááťáŹá¸ááᯠáááşáááşáážááˇáş ááąá¸áááş á¤áĄáážáŹá¸ááᯠáĄáá˝ááˇáşááąáŹááşá¸áá°áááŻááşáááşá XOR ááŻááşááąáŹááşááťááşááťáŹá¸áážááˇáş ááźáżááŹáááş kernel ááŹá¸áážááşá¸ 5.7-rc1 ááž á áááşáᏠAND áážááˇáş OR - 5.10-rc1 ááž á áááşáááşá
- CVE-2021-3489 - áá˝ááşá¸áááşááźáŹá¸ááśááᯠáĄááąáŹááşáĄáááşááąáŹáşááŹáá˝ááş áĄáážáŹá¸áĄáá˝ááşá¸áá áşááŻááźáąáŹááˇáş ááźá áşáááźááşá¸ááźá áşááźáŽá¸ bpf_ringbuf_reserve ááŻááşááąáŹááşááťááşáááş áá˝á˛ááąááťááŹá¸ááąá¸ááąáŹ áááşáááŻááŽá§ááááŹá áĄáá˝ááşáĄá áŹá¸áááş áĄáážááşááááşáĄáá˝ááşáĄá áŹá¸áááş ááťáąáŹáˇáááşá¸áááŻááşááźáąáŹááşá¸ ááźá áşáááŻááşááźáąááᯠá á áşááąá¸ááźááşá¸ááážáááąáŹááźáąáŹááˇáşááźá áşáááşá ringbuf á 5.8-rc1 áá˝ááşáážáááááşá¸á ááźáżááŹááąáŤáşááŹáááşá
ááźááˇáşááźá°á¸áážáŻááťáŹá¸áá˝ááş áĄáŹá¸áááşá¸ááťááşááźááşáááşáážáŻááťáŹá¸á áĄááźáąáĄááąááᯠá¤á áŹááťááşáážáŹááťáŹá¸áá˝ááş ááźáąááŹááśáááŻááşáááş- Ubuntu, Debian, RHEL, Fedora, SUSE, Arch)á ááźááşáááşáážáŻááťáŹá¸ááᯠpatch ááťáŹá¸áĄááźá áşáááşá¸ ááážááááŻááşááŤáááş (CVE-2021-3489, CVE-2021-3490)á áĄááŻáśá¸ááťáááŻááşáážáŻáááş eBPF system call ááᯠáĄááŻáśá¸ááźáŻáá˝ááˇáşáážáááąáŹ áĄááŻáśá¸ááźáŻáá°ááąáŤáşáá˝ááş áá°áááşááŤáááşá áĽáááŹáĄáŹá¸ááźááˇáşá RHEL áážá default configuration áá˝ááşá áĄáŹá¸áááşá¸ááťááşááᯠáĄááŻáśá¸ááťáááşáĄáá˝ááş áĄááŻáśá¸ááźáŻáá°áá˝ááş CAP_SYS_ADMIN áĄáá˝ááˇáşáĄááąá¸ááťáŹá¸ áážááááş áááŻáĄááşáááşá
kernel áážá ááąáŹááşáááşáĄáŹá¸áááşá¸ááťááşáá áşááŻááᯠááŽá¸ááźáŹá¸áážááşááŹá¸ááŹá¸áááˇáşáááşá Linux â CVE-2021-32606á áááşá¸áááş local user áĄáŹá¸ áááşá¸áááŻáˇá privileges ááťáŹá¸ááᯠroot áááŻáˇ escalate ááŻááşáá˝ááˇáşááźáŻáááşá ááźáżááŹáááş kernel áá˝ááşá áááşááąáŤáşááŹáááşá Linux 5.11 ááźá áşááźáŽá¸ CAN ISOTP protocol áĄááąáŹááşáĄáááşááąáŹáşáážáŻáá˝ááş race condition ááźáąáŹááˇáş ááźá áşááąáŤáşááŹááźáŽá¸á CAN_ISOTP_SF_BROADCAST flag ááᯠááŻááşááąáŹááşáááˇáşáĄá፠isotp_setsockopt() function áá˝ááş áááˇáşááťáąáŹáşááąáŹ locks ááťáŹá¸ áááşáážááşááŹá¸ááźááşá¸ááážáááąáŹááźáąáŹááˇáş socket binding parameters ááťáŹá¸ááᯠááźáąáŹááşá¸áá˛áááŻááşá áąááŤáááşá
ISOTP socket ááᯠááááşááźáŽá¸ááąáŹááşá áááşááśáá° socket áážááˇáş ááťáááşáááşáážáŻáááş áĄááťááŻá¸áááşááąáŹááşáážáŻáážáááąáá˛ááźá
áşááźáŽá¸ áááşá¸áááŻáˇáážááˇáş áááşá
ááşááąááąáŹ áááşáááŻááŽááᯠáá˝ááşáá˝áŹá¸ááźáŽá¸ááąáŹááş áááşá¸áááŻáˇáážááˇáş áááşá
ááşááąááąáŹ áááşáááŻááŽááᯠáááşáážáŹá¸ááźáŽá¸ááąáŹááş socket áážááˇáş áááşá
ááşááąáŹ áá˝á˛áˇá
ááşá¸ááŻáśááťáŹá¸ááᯠáááşáááşáĄááŻáśá¸ááźáŻáááŻááşááŤáááş ( isotp_sock áááşááąáŹááşááŻáśáááŻáˇ ááąáŤáşáááŻáážáŻááźáąáŹááˇáş áĄááŻáśá¸ááźáŻááźáŽá¸ááąáŹááş áĄááá˛áˇ áĄááŻáśá¸ááźáŻááźááşá¸ isotp_rcv() ááŻááąáŤáşááąáŹáĄááŤ) áá˝ááşááźáąáŹááşááźáŽá¸ááźá
áşáááşá ááąááŹááźááşáážááşááźááşá¸áážáá
áşáááˇáşá áááşáááş áá˝ážááşááźááťááşááᯠsk_error_report() ááŻááşááąáŹááşááťááşáááŻáˇ áĄá
áŹá¸áááŻá¸áááŻááşááźáŽá¸ kernel áĄáááˇáşáá˝ááş áááˇáşááŻááşááᯠááŻááşááąáŹááşáááŻááşáááşá
source: opennet.ru
