Уязвимости Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΈΡ‚Π΅ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€ΠΈ Nix, Lix ΠΈ Guix

Π’ ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΈΡ‚Π΅ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€ΠΈ GNU Guix, Nix ΠΈ Lix са ΠΎΡ‚ΠΊΡ€ΠΈΡ‚ΠΈ уязвимости (Nix, Guix, Lix), ΠΊΠΎΠΈΡ‚ΠΎ позволяват изпълнСниС Π½Π° ΠΊΠΎΠ΄ с ΠΏΡ€Π°Π²Π°Ρ‚Π° Π½Π° ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅, ΠΏΠΎΠ΄ ΠΊΠΎΠΈΡ‚ΠΎ сС стартират ΡΠ±ΠΎΡ€ΡŠΡ‡Π½ΠΈΡ‚Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, nixbld* Π² Nix/Lix). Π’ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° запис Π½Π° Π΄Π°Π½Π½ΠΈ Π² ΡΠ±ΠΎΡ€ΡŠΡ‡Π½Π°Ρ‚Π° срСда ΠΈ Π·Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² ΡΠ±ΠΎΡ€ΡŠΡ‡Π½ΠΈΡ процСс. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠΈΡ‚Π΅ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‚ във Ρ„ΠΎΠ½ΠΎΠ²ΠΈΡ‚Π΅ процСси guix-daemon ΠΈ nix-daemon, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π·Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ ΡΠ±ΠΎΡ€ΡŠΡ‡Π½ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π·Π° Π½Π΅ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ.

УязвимоститС са ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅Π½ΠΈ ΠΎΡ‚ Ρ„Π°ΠΊΡ‚Π°, Ρ‡Π΅ Π·Π° Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π²ΠΈΡ‚Π΅ ΡΠ±ΠΎΡ€ΡŠΡ‡Π½ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ ΠΏΡ€ΠΈ изпълнСниС Π½Π° някои ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ са Π±ΠΈΠ»ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π½Π΅ дСскрипторитС dirfd, Π° пълни Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΈ ΠΏΡŠΡ‚ΠΈΡ‰Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ позволява подмяна Π½Π° ΡΠ±ΠΎΡ€ΡŠΡ‡Π½Π°Ρ‚Π° дирСктория, Ρ€Π°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π° Π² йСрархията /tmp (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, "/tmp/guix-build-PACKAGE-X.Y.drv-0"). НСправилното ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° dirfd Π² функцията Π·Π° рСкурсивно ΠΈΠ·Ρ‚Ρ€ΠΈΠ²Π°Π½Π΅ Π΅ Π΄ΠΎΠ²Π΅Π»ΠΎ Π΄ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ Π½Π° Π³ΠΎΠ½ΠΊΠ°, ΠΏΡ€ΠΈ ΠΊΠΎΠ΅Ρ‚ΠΎ атакуващият Π΅ могъл Π΄Π° постави символична Π²Ρ€ΡŠΠ·ΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρƒ ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ ΠΈ промяната Π½Π° собствСника Π½Π° ΡΠ±ΠΎΡ€ΡŠΡ‡Π½Π°Ρ‚Π° дирСктория. ΠŸΡ€ΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½Π° Π°Ρ‚Π°ΠΊΠ° guix-daemon/nix-daemon вмСсто смяна Π½Π° потрСбитСля Π·Π° ΡΠ±ΠΎΡ€ΡŠΡ‡Π½Π°Ρ‚Π° дирСктория Π΅ смСнял собствСника Π½Π° Ρ„Π°ΠΉΠ»Π°, адрСсиран ΠΎΡ‚ символичната Π²Ρ€ΡŠΠ·ΠΊΠ°.

УязвимоститС са отстранСни Π² Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈΡ‚Π΅ Lix 2.93, Nix 2.29 ΠΈ Guix 1.4.0-38.0e79d5b. Π—Π° Сксплоатация Π½Π° уязвимоститС атакуващият трябва Π΄Π° ΠΈΠΌΠ° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° стартиранС Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΈ ΡΠ±ΠΎΡ€ΡŠΡ‡Π½ΠΈ Ρ€Π°Π±ΠΎΡ‚ΠΈ. Π—Π° Π°Ρ‚Π°ΠΊΠ° с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° уязвимостта CVE-2025-46415 Π΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ Π΄Π° ΠΈΠΌΠ° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° създаванС Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π² дирСкторията /tmp Π½Π° сборочната машина, Π° Π·Π° уязвимостта CVE-2025-46416 Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΠΈΠΌΠ° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° стартиранС Π½Π° ΠΊΠΎΠ΄ Π² контСкста Π½Π° основнитС ΠΏΡ€ΠΎΠ±ΠΈ Π·Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΈ Π½Π° ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ (pid namespace) ΠΈ ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° (network namespace).

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

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster