GRO Frag adalah kerentanan kelas Copy Fail ketujuh yang memberikan hak akses root kepada Linux

Π’ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΌ доступС Ρ€Π°Π·ΠΌΠ΅Ρ‰Ρ‘Π½ эксплоит для сСдьмой уязвимости (1, 2-3, 4, 5, 6) Π² ядрС Linux, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅ΠΉ Π½Π΅ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌΡƒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²Π° root, пСрСзаписав Π΄Π°Π½Π½Ρ‹Π΅ Π² страничном кэшС. CVE-ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π΅Ρ‰Ρ‘ Π½Π΅ присвоСн, ΠΊΡ€ΠΎΠΌΠ΅ ΠΊΠΎΠ΄Π° эксплоита ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅ ΠΏΠΎΠΊΠ° Π½Π΅Ρ‚. Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ доступно Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π²ΠΈΠ΄Π΅ ΠΏΠ°Ρ‚Ρ‡Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ 20 мая ΠΈ 21 мая Π±Ρ‹Π» принят Π² ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ ядра Linux (ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ выпуски ядра Π΅Ρ‰Ρ‘ нСдоступны).

Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ присутствуСт Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ GRO (Generic Receive Offload), примСняСмой для ускорСния ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сСгмСнтированных ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π²Ρ‹Π·Π²Π°Π½Π° ошибкой Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° zerocopy Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ skb_gro_receive(), ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡŽΡ‰Π΅ΠΉ прямоС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π² страничном кэшС для ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ лишнСй Π±ΡƒΡ„Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΠΈ. ΠŸΡ€ΠΈ установлСнном Ρ„Π»Π°Π³Π΅ SKBFL_MANAGED_FRAG_REFS ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ°Π»ΠΎΡΡŒ сохранСниС ссылки Π½Π° освобоТдаСмыС страницы памяти Π² ΠΏΠΎΠ»Π΅ shinfo->frags, послС Ρ‡Π΅Π³ΠΎ Π΄Π°Π½Π½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ ΠΏΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΠ»ΠΎΡΡŒ ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ skb Π±Π΅Π· измСнСния счётчика ссылок, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠ»ΠΎ ΠΊ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΡŽ ΠΊ памяти послС Π΅Ρ‘ освобоТдСния (use-after-free). ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡΠΊΡΠΏΠ»ΡƒΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ для пСрСзаписи Π΄Π°Π½Π½Ρ‹Ρ… Π² страничном кэшС, благодаря манипуляции с ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΌ Π½Π° Π±ΡƒΡ„Π΅Ρ€ io_uring.

Атака Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° Π½Π° систСмы с Π²ΠΊΠ»ΡŽΡ‡Ρ‘Π½Π½ΠΎΠΉ подсистСмой io_uring (io_uring_disabled=0). Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ эксплоита Π² систСмС Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ доступный Π½Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ исполняСмый Ρ„Π°ΠΉΠ» с Ρ„Π»Π°Π³ΠΎΠΌ SUID-root. ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ эксплуатации сводится ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰ΠΈΠΉ добиваСтся осСдания Π±Π°Π·Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π² страничном кэшС, послС Ρ‡Π΅Π³ΠΎ подставляСт Π² кэш строку Β«hax::0:0::/root:/bin/shΒ». Π‘Π»Π΅Π΄ΠΎΠΌ запускаСтся ΠΊΠΎΠΌΠ°Π½Π΄Π° Β«su haxΒ», которая ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π½Π΅ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΡƒΡŽ Π±Π°Π·Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ с накопитСля, Π° ΠΈΠ·ΠΌΠ΅Π½Ρ‘Π½Π½ΡƒΡŽ копию с подставным Π»ΠΎΠ³ΠΈΠ½ΠΎΠΌ Β«haxΒ», ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ выставлСны ΠΏΡ€Π°Π²Π° root ΠΈ пустой ΠΏΠ°Ρ€ΠΎΠ»ΡŒ. Π Π°Π±ΠΎΡ‚Π° эксплоита протСстирована Π² Ubuntu 24.04.

Sumber: opennet.ru

Beli hosting yang andal untuk situs dengan perlindungan DDoS, server VPS VDS πŸ”₯ Beli hosting website andal dengan perlindungan DDoS, server VPS VDS | ProHoster