Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π² ядрС Linux, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ содСрТимоС tmpfs ΠΈ раздСляСмой памяти

Π’ ядрС Linux выявлСна ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ (CVE-2022-2590), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ Π½Π΅ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌΡƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΡ‚Ρ€Π°ΠΆΡ‘Π½Π½Ρ‹Π΅ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ (mmap) ΠΈ Ρ„Π°ΠΉΠ»Ρ‹ Π² tmpfs, Π½Π΅ имСя ΠΏΡ€Π°Π² Π½Π° запись Π² Π½ΠΈΡ…, ΠΈ ΠΏΠΎΠ΄Π½ΡΡ‚ΡŒ свои ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ Π² систСмС. По своСму Ρ‚ΠΈΠΏΡƒ выявлСнная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Dirty COW, Π½ΠΎ отличаСтся Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ограничиваСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ воздСйствиСм Π½Π° Π΄Π°Π½Π½Ρ‹Π΅ Π² раздСляСмой памяти (shmem / tmpfs). ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π² Ρ‚ΠΎΠΌ числС ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ для ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Ρ… исполняСмых Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Π΄Π΅Π»ΡΠ΅ΠΌΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π²Ρ‹Π·Π²Π°Π½Π° состояниСм Π³ΠΎΠ½ΠΊΠΈ Π² подсистСмС управлСния ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ (fault), Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ доступа Π½Π° запись ΠΊ доступным Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ областям Π² раздСляСмой памяти, ΠΎΡ‚Ρ€Π°ΠΆΡ‘Π½Π½Ρ‹ΠΌ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ COW (copy-on-write mapping). ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° проявляСтся начиная с ядра 5.16 Π½Π° систСмах с Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΎΠΉ x86-64 ΠΈ aarch64 ΠΏΡ€ΠΈ сборкС ядра с ΠΎΠΏΡ†ΠΈΠ΅ΠΉ CONFIG_USERFAULTFD=y. Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ устранСна Π² выпускС 5.19. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ эксплоита ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΡŽΡ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ 15 августа.

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

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ