Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ сокСтов AF_PACKET ядра Linux

Бпустя Ρ‚Ρ€ΠΈ Π³ΠΎΠ΄Π° с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π²ΠΎΠ»Π½Ρ‹ уязвимостСй (1, 2, 3, 4, 5) Π² подсистСмС AF_PACKET ядра Linux выявлСна Π΅Ρ‰Ρ‘ ΠΎΠ΄Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° (CVE-2020-14386), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ Π½Π΅ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌΡƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ с ΠΏΡ€Π°Π²Π°ΠΌΠΈ root ΠΈΠ»ΠΈ Π²Ρ‹ΠΉΡ‚ΠΈ ΠΈΠ· ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ², ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ Π² Π½ΠΈΡ… root-доступа.

Для создания сокСта AF_PACKET ΠΈ эксплуатации уязвимости трСбуСтся Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡ‡ΠΈΠΉ CAP_NET_RAW. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡ‡ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΎ Π½Π΅ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°Ρ…, создаваСмых Π² систСмах с Π²ΠΊΠ»ΡŽΡ‡Ρ‘Π½Π½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ пространств ΠΈΠΌΡ‘Π½ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ (user namespaces). НапримСр, user namespaces ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π²ΠΊΠ»ΡŽΡ‡Ρ‘Π½ Π² Ubuntu ΠΈ Fedora, Π½ΠΎ Π½Π΅ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½ Π² Debian ΠΈ RHEL. Π’ Android ΠΏΡ€Π°Π²ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ сокСты AF_PACKET ΠΈΠΌΠ΅Π΅Ρ‚ процСсс mediaserver, Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ эксплуатирована ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ.

Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ присутствуСт Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ tpacket_rcv ΠΈ Π²Ρ‹Π·Π²Π°Π½Π° ошибкой вычислСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ netoff. ΠΡ‚Π°ΠΊΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ условия, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ netoff Π±ΡƒΠ΄Π΅Ρ‚ записано Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ мСньшС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ maclen, Ρ‡Ρ‚ΠΎ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ вычислСнии «macoff = netoff — maclen» ΠΈ Π½Π΅Π²Π΅Ρ€Π½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ установкС указатСля Π½Π° Π±ΡƒΡ„Π΅Ρ€ для ΠΏΠΎΡΡ‚ΡƒΠΏΠ°ΡŽΡ‰ΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ…. Π’ ΠΈΡ‚ΠΎΠ³Π΅, Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰ΠΈΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΠΎΠ²Π°Π½Π° запись ΠΎΡ‚ 1 Π΄ΠΎ 10 Π±Π°ΠΉΡ‚ Π² ΠΎΠ±Π»Π°ΡΡ‚ΡŒ Π·Π° Π³Ρ€Π°Π½ΠΈΡ†Π΅ΠΉ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π±ΡƒΡ„Π΅Ρ€Π°. ΠžΡ‚ΠΌΠ΅Ρ‡Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ находится эксплотит, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ root-ΠΏΡ€Π°Π²Π° Π² систСмС.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° присутствуСт Π² ядрС с июля 2008 Π³ΠΎΠ΄Π°, Ρ‚.Π΅. проявляСтся Π²ΠΎ всСх Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… ядрах. Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠΊΠ° доступно Π² Π²ΠΈΠ΄Π΅ ΠΏΠ°Ρ‚Ρ‡Π°. ΠžΡ‚ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ появлСниС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π² дистрибутивах ΠΌΠΎΠΆΠ½ΠΎ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… страницах: Ubuntu, Fedora, SUSE, Debian, RHEL, Arch.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru