Ранливости Π²ΠΎ потсистСмот eBPF ΡˆΡ‚ΠΎ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π°Π°Ρ‚ ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΊΠΎΠ΄ Π½Π° Π½ΠΈΠ²ΠΎ Π½Π° ΠΊΠ΅Ρ€Π½Π΅Π»ΠΎΡ‚ Π½Π° Linux

Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΡƒΠ²Π°Π½ΠΈ сС Π΄Π²Π΅ Π½ΠΎΠ²ΠΈ пропусти Π²ΠΎ потсистСмот eBPF, кој Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π΄Π° ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°Ρ‚Π΅ Ρ€Π°ΠΊΡƒΠ²Π°Ρ‡ΠΈ Π²ΠΎ ΠΊΠ΅Ρ€Π½Π΅Π»ΠΎΡ‚ Π½Π° Linux Π²ΠΎ ΡΠΏΠ΅Ρ†ΠΈΡ˜Π°Π»Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ΅Π»Π½Π° машина со JIT. Π”Π²Π΅Ρ‚Π΅ пропусти ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π°Π°Ρ‚ ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅ Π½Π° Π²Π°ΡˆΠΈΠΎΡ‚ ΠΊΠΎΠ΄ со ΠΏΡ€Π°Π²Π° Π½Π° Ρ˜Π°Π΄Ρ€ΠΎΡ‚ΠΎ, Π½Π°Π΄Π²ΠΎΡ€ ΠΎΠ΄ ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ΅Π»Π½Π° машина eBPF. Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈΡ‚Π΅ Π·Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈΡ‚Π΅ Π±Π΅Π° објавСни ΠΎΠ΄ Ρ‚ΠΈΠΌΠΎΡ‚ Π½Π° Zero Day Initiative, кој Π³ΠΎ Π²ΠΎΠ΄ΠΈ Π½Π°Ρ‚ΠΏΡ€Π΅Π²Π°Ρ€ΠΎΡ‚ Pwn2Own, ΠΏΡ€ΠΈ ΡˆΡ‚ΠΎ ΠΎΠ²Π°Π° Π³ΠΎΠ΄ΠΈΠ½Π° Π±Π΅Π° дСмонстрирани Ρ‚Ρ€ΠΈ Π½Π°ΠΏΠ°Π΄ΠΈ Π½Π° Ubuntu Linux ΠΊΠΎΠΈ користСа ΠΏΡ€Π΅Ρ‚Ρ…ΠΎΠ΄Π½ΠΎ Π½Π΅ΠΏΠΎΠ·Π½Π°Ρ‚ΠΈ пропусти (Π΄Π°Π»ΠΈ ранливоститС Π²ΠΎ eBPF сС ΠΏΠΎΠ²Ρ€Π·Π°Π½ΠΈ со ΠΎΠ²ΠΈΠ΅ Π½Π°ΠΏΠ°Π΄ΠΈ Π½Π΅ Π΅ ΠΏΡ€ΠΈΡ˜Π°Π²Π΅Π½ΠΎ) .

  • CVE-2021-3490 - Ранливоста Π΅ ΠΏΡ€Π΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ°Π½Π° ΠΎΠ΄ нСдостаток Π½Π° 32-Π±ΠΈΡ‚Π½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π°Π΄Π²ΠΎΡ€ ΠΎΠ΄ Π³Ρ€Π°Π½ΠΈΡ†ΠΈΡ‚Π΅ ΠΏΡ€ΠΈ ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅ Π½Π° Π±ΠΈΡ‚ΠΎΠ²ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ И, Π˜Π›Π˜ ΠΈ XOR Π²ΠΎ eBPF ALU32. Напаѓачот ΠΌΠΎΠΆΠ΅ Π΄Π° ја искористи ΠΎΠ²Π°Π° Π³Ρ€Π΅ΡˆΠΊΠ° Π·Π° Π΄Π° Ρ‡ΠΈΡ‚Π° ΠΈ ΠΏΠΈΡˆΡƒΠ²Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ Π½Π°Π΄Π²ΠΎΡ€ ΠΎΠ΄ Π³Ρ€Π°Π½ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° Π΄ΠΎΠ΄Π΅Π»Π΅Π½ΠΈΠΎΡ‚ Π±Π°Ρ„Π΅Ρ€. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΡ‚ со ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅ XOR сС ΠΏΠΎΡ˜Π°Π²ΡƒΠ²Π° ΠΏΠΎΡ‡Π½ΡƒΠ²Π°Ρ˜ΡœΠΈ ΠΎΠ΄ Π²Π΅Ρ€Π·ΠΈΡ˜Π°Ρ‚Π° Π½Π° ΠΊΠ΅Ρ€Π½Π΅Π»ΠΎΡ‚ 5.7-rc1, ΠΈ AND ΠΈ OR - ΠΏΠΎΡ‡Π½ΡƒΠ²Π°Ρ˜ΡœΠΈ ΠΎΠ΄ 5.10-rc1.
  • CVE-2021-3489 - Ранливоста Π΅ ΠΏΡ€Π΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ°Π½Π° ΠΎΠ΄ Π³Ρ€Π΅ΡˆΠΊΠ° Π²ΠΎ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π½Π° прстСнСстиот Π±Π°Ρ„Π΅Ρ€ ΠΈ сС Π΄ΠΎΠ»ΠΆΠΈ Π½Π° Ρ„Π°ΠΊΡ‚ΠΎΡ‚ ΡˆΡ‚ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π°Ρ‚Π° bpf_ringbuf_reserve Π½Π΅ ја ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈ моТноста Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π°Ρ‚Π° Π½Π° Π΄ΠΎΠ΄Π΅Π»Π΅Π½ΠΈΠΎΡ‚ мСмориски Ρ€Π΅Π³ΠΈΠΎΠ½ Π΄Π° Π±ΠΈΠ΄Π΅ ΠΏΠΎΠΌΠ°Π»Π° ΠΎΠ΄ вистинската Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π° Π½Π° Ρ€ΠΈΠ½Π³Π±ΡƒΡ„. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΡ‚ сС ΠΏΠΎΡ˜Π°Π²ΡƒΠ²Π° ΠΎΠ΄ ΠΎΠ±Ρ˜Π°Π²ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ 5.8-rc1.

Бтатусот Π½Π° ΠΏΠΎΠΏΡ€Π°Π²Π°ΡšΠ΅ Π½Π° ранливости Π²ΠΎ дистрибуциитС ΠΌΠΎΠΆΠ΅ Π΄Π° сС слСди Π½Π° ΠΎΠ²ΠΈΠ΅ страници: Ubuntu, Debian, RHEL, Fedora, SUSE, Arch). ΠŸΠΎΠΏΡ€Π°Π²ΠΊΠΈΡ‚Π΅ сС достапни ΠΈ ΠΊΠ°ΠΊΠΎ Π·Π°ΠΊΡ€ΠΏΠΈ (CVE-2021-3489, CVE-2021-3490). Π”Π°Π»ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΡ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° сС искористи зависи ΠΎΠ΄ Ρ‚ΠΎΠ° Π΄Π°Π»ΠΈ ΠΏΠΎΠ²ΠΈΠΊΠΎΡ‚ Π½Π° систСмот EBPF Π΅ достапСн Π·Π° корисникот. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²ΠΎ стандардната ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π° Π²ΠΎ RHEL, Π΅ΠΊΡΠΏΠ»ΠΎΠ°Ρ‚Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π½Π° ранливоста Π±Π°Ρ€Π° ΠΎΠ΄ корисникот Π΄Π° ΠΈΠΌΠ° ΠΏΡ€Π°Π²Π° Π½Π° CAP_SYS_ADMIN.

ОддСлно, ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΠΌΠ΅ ΡƒΡˆΡ‚Π΅ Π΅Π΄Π½Π° ранливост Π²ΠΎ ΠΊΠ΅Ρ€Π½Π΅Π»ΠΎΡ‚ Π½Π° Линукс - CVE-2021-32606, ΡˆΡ‚ΠΎ ΠΌΡƒ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π½Π° Π»ΠΎΠΊΠ°Π»Π½ΠΈΠΎΡ‚ корисник Π΄Π° Π³ΠΈ ΠΏΠΎΠ΄ΠΈΠ³Π½Π΅ своитС ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ Π½Π° корСнското Π½ΠΈΠ²ΠΎ. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΡ‚ Π΅ Π΅Π²ΠΈΠ΄Π΅Π½Ρ‚Π΅Π½ ΡƒΡˆΡ‚Π΅ ΠΎΠ΄ ΠΊΠ΅Ρ€Π½Π΅Π»ΠΎΡ‚ 5.11 Π½Π° Линукс ΠΈ Π΅ ΠΏΡ€Π΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ°Π½ ΠΎΠ΄ ΡΠΎΡΡ‚ΠΎΡ˜Π±Π° Π½Π° Ρ‚Ρ€ΠΊΠ° Π²ΠΎ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΡ‚ CAN ISOTP, ΡˆΡ‚ΠΎ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π΄Π° сС смСнат ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‚Π΅ Π·Π° Π²Ρ€Π·ΡƒΠ²Π°ΡšΠ΅ Π½Π° ΡˆΡ‚Π΅ΠΊΠ΅Ρ€ΠΎΡ‚ ΠΏΠΎΡ€Π°Π΄ΠΈ нСдостатокот Π½Π° ΠΏΠΎΡΡ‚Π°Π²ΡƒΠ²Π°ΡšΠ΅ Π½Π° соодвСтни Π±Ρ€Π°Π²ΠΈ Π²ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π°Ρ‚Π° isotp_setsockopt() ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Π·Π½Π°ΠΌΠ΅Ρ‚ΠΎ CAN_ISOTP_SF_BROADCAST.

ΠžΡ‚ΠΊΠ°ΠΊΠΎ ќС сС Π·Π°Ρ‚Π²ΠΎΡ€ΠΈ ISOTP ΡˆΡ‚Π΅ΠΊΠ΅Ρ€ΠΎΡ‚, Π²Ρ€Π·ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π·Π° ΠΏΡ€ΠΈΠΊΠ»ΡƒΡ‡ΠΎΠΊΠΎΡ‚ Π½Π° ΠΏΡ€ΠΈΠΌΠ°Ρ‡ΠΎΡ‚ останува Π²ΠΎ сила, ΡˆΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈ Π΄Π° Π³ΠΈ користи структуритС ΠΏΠΎΠ²Ρ€Π·Π°Π½ΠΈ со ΡˆΡ‚Π΅ΠΊΠ΅Ρ€ΠΎΡ‚ ΠΎΡ‚ΠΊΠ°ΠΊΠΎ ќС сС ослободи ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜Π°Ρ‚Π° ΠΏΠΎΠ²Ρ€Π·Π°Π½Π° со Π½ΠΈΠ² (ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅-ΠΏΠΎ-слободно ΠΏΠΎΡ€Π°Π΄ΠΈ ΠΏΠΎΠ²ΠΈΠΊΠΎΡ‚ Π΄ΠΎ структурата isotp_sock ΡˆΡ‚ΠΎ вСќС Π΅ ослободСно ΠΊΠΎΠ³Π° сС ΠΏΠΎΠ²ΠΈΠΊΡƒΠ²Π° isotp_rcv()). ΠŸΡ€Π΅ΠΊΡƒ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ†ΠΈΡ˜Π° со ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π³ΠΎ ΠΎΡ‚Ρ„Ρ€Π»ΠΈΡ‚Π΅ ΠΏΠΎΠΊΠ°ΠΆΡƒΠ²Π°Ρ‡ΠΎΡ‚ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π°Ρ‚Π° sk_error_report() ΠΈ Π΄Π° Π³ΠΎ ΠΈΠ·Π²Ρ€ΡˆΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΠΎΡ‚ ΠΊΠΎΠ΄ Π½Π° Π½ΠΈΠ²ΠΎ Π½Π° Ρ˜Π°Π΄Ρ€ΠΎΡ‚ΠΎ.

Π˜Π·Π²ΠΎΡ€: opennet.ru

Π”ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€