ΠΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΈΠ· ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Google Π²ΡΡΠ²ΠΈΠ»ΠΈ Π² ΡΠ΄ΡΠ΅ Linux ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ (CVE-2025-38236), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΡΡ ΠΏΠΎΠ²ΡΡΠΈΡΡ ΡΠ²ΠΎΠΈ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅. Π‘ΡΠ΅Π΄ΠΈ ΠΏΡΠΎΡΠ΅Π³ΠΎ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠ±ΠΎΠΉΡΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ sandbox-ΠΈΠ·ΠΎΠ»ΡΡΠΈΠΈ, ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡΠΉ Π² Google Chrome, ΠΈ Π΄ΠΎΠ±ΠΈΡΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠ΄ΡΠ° ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠ΄Π° Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Π° Chrome (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ Π² Chrome). ΠΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΡΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΡΠ΄ΡΠ° Linux 6.9 ΠΈ ΡΡΡΡΠ°Π½Π΅Π½Π° Π² ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡΡ ΡΠ΄ΡΠ° Linux 6.1.143, 6.6.96, 6.12.36 ΠΈ 6.15.5. ΠΠ»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΏΡΠΎΡΠΎΡΠΈΠΏ ΡΠΊΡΠΏΠ»ΠΎΠΈΡΠ°.
Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΡ Π²ΡΠ·Π²Π°Π½Π° ΠΎΡΠΈΠ±ΠΊΠΎΠΉ Π² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ»Π°Π³Π° MSG_OOB, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡΡΠ°Π²ΠΈΡΡ Π΄Π»Ρ ΡΠΎΠΊΠ΅ΡΠΎΠ² AF_UNIX. Π€Π»Π°Π³ MSG_OOB (Β«out-of-bandΒ») ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΈΠΊΡΠ΅ΠΏΠΈΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ Π±Π°ΠΉΡ ΠΊ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΠΌ Π΄Π°Π½Π½ΡΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π΄ΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ . ΠΠ°Π½Π½ΡΠΉ ΡΠ»Π°Π³ Π±ΡΠ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π² ΡΠ΄ΡΠ΅ Linux 5.15 ΠΏΠΎ Π·Π°ΠΏΡΠΎΡΡ Oracle ΠΈ Π² ΠΏΡΠΎΡΠ»ΠΎΠΌ Π³ΠΎΠ΄Ρ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π»ΡΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° Π² ΡΠ°Π·ΡΡΠ΄ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΡ , ΠΊΠ°ΠΊ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΠ²ΡΠΈΠΉ ΡΠΈΡΠΎΠΊΠΎΠ³ΠΎ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ.
Π ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ sandbox-ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ Chrome ΡΠ°Π·ΡΠ΅ΡΠ΅Π½Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ UNIX-ΡΠΎΠΊΠ΅ΡΠ°ΠΌΠΈ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ send()/recv(), Π² ΠΊΠΎΡΠΎΡΡΡ
ΡΠ»Π°Π³ MSG_OOB Π΄ΠΎΠΏΡΡΠΊΠ°Π»ΡΡ Π½Π°ΡΡΠ΄Ρ c Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΎΠΏΡΠΈΡΠΌΠΈ ΠΈ Π½Π΅ Π±ΡΠ» ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ ΠΎΡΡΠΈΠ»ΡΡΡΠΎΠ²Π°Π½. ΠΡΠΈΠ±ΠΊΠ° Π² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ MSG_OOB ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ»Π° Π΄ΠΎΠ±ΠΈΡΡΡΡ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΠΎΡΠ»Π΅ Π΅Ρ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΡ (use-after-free) ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ
Π²ΡΠ·ΠΎΠ²ΠΎΠ²: char dummy; int socks[2]; socketpair(AF_UNIX, SOCK_STREAM, 0, socks); send(socks[1], Β«AΒ», 1, MSG_OOB); recv(socks[0], &dummy, 1, MSG_OOB); send(socks[1], Β«AΒ», 1, MSG_OOB); recv(socks[0], &dummy, 1, MSG_OOB); send(socks[1], Β«AΒ», 1, MSG_OOB); recv(socks[0], &dummy, 1, 0); recv(socks[0], &dummy, 1, MSG_OOB);
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
