Уязвимост Π² ядрото Π½Π° Linux позволява заобикалянС Π½Π° изолацията Π½Π° ΠΏΡΡΡŠΡ‡Π½ΠΈΠΊ Π² Chrome

Π˜Π·ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΏΠΎ сигурността ΠΎΡ‚ Google са ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π»ΠΈ уязвимост (CVE-2025-38236) Π² ядрото Π½Π° Linux, която позволява Сскалация Π½Π° ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈΡ‚Π΅. ОсвСн всичко Π΄Ρ€ΡƒΠ³ΠΎ, уязвимостта позволява заобикалянС Π½Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Π·Π° ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½Π΅ Π² ΠΏΡΡΡŠΡ‡Π½ΠΈΠΊ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π² 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 (β€žΠΈΠ·Π²ΡŠΠ½ ΠΎΠ±Ρ…Π²Π°Ρ‚Π°β€œ) позволява към ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ Π΄Π° бъдС ΠΏΡ€ΠΈΠΊΠ°Ρ‡Π΅Π½ Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π΅Π½ Π±Π°ΠΉΡ‚, ΠΊΠΎΠΉΡ‚ΠΎ получатСлят ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅, ΠΏΡ€Π΅Π΄ΠΈ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈ останалитС Π΄Π°Π½Π½ΠΈ. Π’ΠΎΠ·ΠΈ Ρ„Π»Π°Π³ бСшС Π΄ΠΎΠ±Π°Π²Π΅Π½ Π² ядрото Π½Π° Linux 5.15 ΠΏΠΎ исканС Π½Π° Oracle ΠΈ бСшС ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ Π·Π° ΠΎΡ‚Ρ…Π²ΡŠΡ€Π»ΡΠ½Π΅ ΠΌΠΈΠ½Π°Π»Π°Ρ‚Π° Π³ΠΎΠ΄ΠΈΠ½Π°, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Π½Π΅ бСшС ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½.

Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡΡ‚Π° Π½Π° sandbox Π² Chrome позволявашС UNIX socket ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ систСмни извиквания send()/recv(), ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ Ρ„Π»Π°Π³ΡŠΡ‚ MSG_OOB бСшС Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ Π·Π°Π΅Π΄Π½ΠΎ с Π΄Ρ€ΡƒΠ³ΠΈ ΠΎΠΏΡ†ΠΈΠΈ ΠΈ Π½Π΅ бСшС Ρ„ΠΈΠ»Ρ‚Ρ€ΠΈΡ€Π°Π½ ΠΎΡ‚Π΄Π΅Π»Π½ΠΎ. Π“Ρ€Π΅ΡˆΠΊΠ° Π² имплСмСнтацията Π½Π° 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, MSG_OOB); send(socks[0], "A", 0, MSG_OOB); recv(socks[1], &dummy, XNUMX, XNUMX); recv(Ρ‡ΠΎΡ€Π°ΠΏΠΈ[XNUMX], &dummy, XNUMX, MSG_OOB);

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