Π ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π° io_uring, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠΌ ΡΠ΄ΡΠΎΠΌ Linux, Π²ΡΡΠ²Π»Π΅Π½Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ (CVE-2024-0582), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ Π½Π΅ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΡΠ°Π²Π° root Π² ΡΠΈΡΡΠ΅ΠΌΠ΅. ΠΠ»Ρ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠΈΡΡΠ΅ΠΌΠ΅, Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΉ Ρ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°ΠΌΠΈ ΠΈΠΌΡΠ½. Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΉ ΡΠΊΡΠΏΠ»ΠΎΠΈΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎΠΏΠΈΡΠ°Π½Π° Π²ΡΠΎΡΠ°Ρ ΡΠ΅Ρ Π½ΠΈΠΊΠ° ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ.
Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΡ Π²ΡΠ·Π²Π°Π½Π° ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΊ ΡΠΆΠ΅ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄ΡΠ½Π½ΠΎΠΌΡ Π±Π»ΠΎΠΊΡ ΠΏΠ°ΠΌΡΡΠΈ (use-after-free) Π² ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ΅ io_uring, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡΠ΅ΠΌ ΠΏΡΠΈ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ ΠΊΠΎΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ Π±ΡΡΠ΅ΡΠ°, ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ ΡΠ»Π°Π³ΠΎΠΌ IORING_REGISTER_PBUF_RING. Π ΡΠΈΡΡΠ°ΡΠΈΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊ Π±ΡΡΠ΅ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ mmap(), ΠΎΠ½ ΠΎΡΡΠ°ΡΡΡΡ ΠΎΡΡΠ°ΠΆΡΠ½Π½ΡΠΌ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π΅Π³ΠΎ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΡ (IORING_UNREGISTER_PBUF_RING). ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ Π΄Π°Π½Π½ΡΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ, Π°ΡΠ°ΠΊΡΡΡΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ ΡΠΈΡΠ°ΡΡ ΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΡ Π² ΡΡΡΠ°Π½ΠΈΡΡ ΠΏΠ°ΠΌΡΡΠΈ, Π²ΠΎΠ·Π²ΡΠ°ΡΡΠ½Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΡΠ΄ΡΠ°.
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΡΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°ΡΠΈΠ½Π°Ρ Ρ Π²ΡΠΏΡΡΠΊΠ° ΡΠ΄ΡΠ° Linux 6.4 ΠΈ ΡΡΡΡΠ°Π½Π΅Π½Π° Π² Π²ΡΠΏΡΡΠΊΠ°Ρ 6.7 ΠΈ 6.6.5, Π° ΡΠ°ΠΊΠΆΠ΅ Π² ΠΏΠ°ΠΊΠ΅ΡΠ΅ Ρ ΡΠ΄ΡΠΎΠΌ 6.5.0-21, ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΡΠΌ Π΄Π»Ρ Ubuntu 22.04 ΠΈ 23.10. ΠΡΠΈΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΡΠΎ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΠ΄ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π±ΡΠ»Π° ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½Π° Π² Π΄Π΅ΠΊΠ°Π±ΡΠ΅ 2023 Π³ΠΎΠ΄Π°, ΠΏΡΠΎΠ΅ΠΊΡ Google Zero ΠΎΡΠΊΡΡΠ» Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠΈΠ³Π½Π°Π»ΠΈΠ·ΠΈΡΡΡΡΠ΅ΠΌΡ ΠΎ Π½Π°Π»ΠΈΡΠΈΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ 8 ΡΠ½Π²Π°ΡΡ, Π° ΠΏΠ°ΠΊΠ΅Ρ Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΠΌ ΡΠ΄ΡΠΎΠΌ 6.5 Π΄Π»Ρ Ubuntu Π±ΡΠ» ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ Π»ΠΈΡΡ 22 ΡΠ΅Π²ΡΠ°Π»Ρ 2024 Π³ΠΎΠ΄Π°. Π Π΄ΡΡΠ³ΠΈΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°Ρ ΠΏΡΠΎΡΠ»Π΅Π΄ΠΈΡΡ Π·Π° ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΈ ΠΏΠΎΠ΄Π²Π΅ΡΠΆΠ΅Π½Π½ΠΎΡΡΡΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°Ρ : Debian, Gentoo, RHEL, SUSE, Fedora, Arch.
ΠΠ΅ΡΠ²ΡΠΉ ΡΠΊΡΠΏΠ»ΠΎΠΈΡ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅ΠΌΡΡ Π°ΡΠ°ΠΊΡΡΡΠΈΠΌ ΡΡΡΠ°Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ°ΡΠΊΠ»Π°Π΄ΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ Π² ΡΠ΄ΡΠ΅ ΠΈ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠΎΡΠ΅Π΄Π½ΠΈΠΌ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΡΡΠ°Π½ΠΈΡΠ°ΠΌ ΠΏΠ°ΠΌΡΡΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΌΠ°ΡΠΊΠΎΠ² ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΡΡ ΡΡΡΡΠΊΡΡΡ ΡΠ΅ΡΠ΅Π²ΡΡ ΡΠΎΠΊΠ΅ΡΠΎΠ². ΠΠ»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΊΠΎΠ΄Π° Π² ΡΠΊΡΠΏΠ»ΠΎΠΈΡΠ΅ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½ «Π³Π°Π΄ΠΆΠ΅Ρ» (ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ Π² ΡΠ΄ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ), ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡΠΈΠΉ ΠΊ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ call_usermodehelper_exec, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΠΎΠΉ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈΠ· ΡΠ΄ΡΠ°.
ΠΡΠΎΡΠΎΠΉ ΡΠΊΡΠΏΠ»ΠΎΠΈΡ ΠΎΡΠ½ΠΎΠ²ΡΠ²Π°Π΅ΡΡΡ Π½Π° ΡΠΎΠΌ, ΡΡΠΎ ΠΏΡΠΈ ΠΈΡΡΠ΅ΡΠΏΠ°Π½ΠΈΠΈ Π²ΡΠ΅Ρ
slab-Π±Π»ΠΎΠΊΠΎΠ² Π² ΠΊΡΡΠ΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΠΎΡΠΊΡΡΡΠΈΠΈ ΡΠ°ΠΉΠ»Π° ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π·) ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ ΠΏΠ°ΠΌΡΡΠΈ, ΠΊ ΠΊΠΎΡΠΎΡΡΠΌ ΠΎΡΡΠ°ΡΡΡΡ Π΄ΠΎΡΡΡΠΏ Π°ΡΠ°ΠΊΡΡΡΠ΅Π³ΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ slab-Π±Π»ΠΎΠΊΠ° ΠΈ Π²ΡΠ΅ Π½ΠΎΠ²ΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠ΅ ΡΡΡΡΠΊΡΡΡΡ Π½Π°ΡΠΈΠ½Π°ΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡΡΡ Π² ΡΡΠΎΠΌ Π±Π»ΠΎΠΊΠ΅. Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠ΅ ΡΡΡΡΠΊΡΡΡΡ ΠΏΠΎΠΏΠ°Π΄ΡΡ Π² ΡΡΡΠ°Π½ΠΈΡΡ ΠΏΠ°ΠΌΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠΈΡΠ°ΡΡ ΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ Π°ΡΠ°ΠΊΡΡΡΠΈΠΉ. ΠΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΡ ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΊ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΡ Π² ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠΉ ΠΊΡΡ Π½ΡΠΆΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΈ Π·Π°ΠΌΠ΅Π½Π΅ Π² ΡΠ²ΡΠ·Π°Π½Π½ΡΡ
Ρ Π½ΠΈΠΌ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ
ΡΡΡΡΠΊΡΡΡΠ°Ρ
ΠΏΠΎΠ»Ρ f_mode, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠ΅Π³ΠΎ ΠΏΡΠ°Π²Π° Π΄ΠΎΡΡΡΠΏΠ°, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΄Π΅Π»Π°ΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌ Π½Π° Π·Π°ΠΏΠΈΡΡ Π½ΡΠΆΠ½ΡΠΉ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ ΡΠ°ΠΉΠ», Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, /etc/passwd.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru