Π ΠΎΡΠΊΡΡΡΠΎΠΌ Π΄ΠΎΡΡΡΠΏΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΡΠ½ ΡΠΊΡΠΏΠ»ΠΎΠΈΡ Π΄Π»Ρ ΡΠ΅Π΄ΡΠΌΠΎΠΉ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ (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.
Bron: opennet.ru
