Ранливост Π²ΠΎ стандардната Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Rust

Π’ΠΎ стандардната Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Rust Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΡƒΠ²Π°Π½Π° ранливост (CVE-2022-21658) ΠΏΠΎΡ€Π°Π΄ΠΈ ΡΠΎΡΡ‚ΠΎΡ˜Π±Π° Π½Π° Ρ‚Ρ€ΠΊΠ° Π²ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π°Ρ‚Π° std::fs::remove_dir_all(). Ако ΠΎΠ²Π°Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π° сС користи Π·Π° Π±Ρ€ΠΈΡˆΠ΅ΡšΠ΅ ΠΏΡ€ΠΈΠ²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ Π²ΠΎ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€Π°Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°, Π½Π°ΠΏΠ°Ρ“Π°Ρ‡ΠΎΡ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° постигнС Π±Ρ€ΠΈΡˆΠ΅ΡšΠ΅ Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΈ систСмски Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡƒΠΌΠΈ ΠΊΠΎΠΈ Π½Π°ΠΏΠ°Ρ“Π°Ρ‡ΠΎΡ‚ Π²ΠΎΠΎΠ±ΠΈΡ‡Π°Π΅Π½ΠΎ Π½Π΅ΠΌΠ° Π΄Π° ΠΈΠΌΠ° пристап Π΄ΠΎ Π±Ρ€ΠΈΡˆΠ΅ΡšΠ΅.

Ранливоста Π΅ ΠΏΡ€Π΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ°Π½Π° ΠΎΠ΄ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ ΡΠΏΡ€ΠΎΠ²Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° симболични врски ΠΏΡ€Π΅Π΄ Ρ€Π΅ΠΊΡƒΡ€Π·ΠΈΠ²Π½ΠΎ Π±Ρ€ΠΈΡˆΠ΅ΡšΠ΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡƒΠΌΠΈ. НамСсто Π΄Π° спрСчи слСдСњС Π½Π° символики, remove_dir_all() ΠΏΡ€Π²ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡƒΠ²Π° Π΄Π°Π»ΠΈ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° Π΅ символна врска. Ако Π΅ Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Π½Π° врска, Ρ‚ΠΎΠ³Π°Ρˆ Ρ‚Π°Π° сС Π±Ρ€ΠΈΡˆΠ΅ ΠΊΠ°ΠΊΠΎ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°, Π° Π°ΠΊΠΎ Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡƒΠΌ, Ρ‚ΠΎΠ³Π°Ρˆ сС ΠΏΠΎΠ²ΠΈΠΊΡƒΠ²Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π·Π° ΠΎΡ‚ΡΡ‚Ρ€Π°Π½ΡƒΠ²Π°ΡšΠ΅ Π½Π° Ρ€Π΅ΠΊΡƒΡ€Π·ΠΈΠ²Π½Π° содрТина. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΡ‚ Π΅ ΡˆΡ‚ΠΎ ΠΈΠΌΠ° ΠΌΠ°Π»ΠΎ Π΄ΠΎΡ†Π½Π΅ΡšΠ΅ ΠΏΠΎΠΌΠ΅Ρ“Ρƒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°Ρ‚Π° ΠΈ ΠΏΠΎΡ‡Π΅Ρ‚ΠΎΠΊΠΎΡ‚ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π·Π° Π±Ρ€ΠΈΡˆΠ΅ΡšΠ΅.

Π’ΠΎ Π²Ρ€Π΅ΠΌΠ΅ ΠΊΠΎΠ³Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°Ρ‚Π° Π΅ вСќС ΠΈΠ·Π²Ρ€ΡˆΠ΅Π½Π°, Π½ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π·Π° Π½Π°Π±Ρ€ΠΎΡ˜ΡƒΠ²Π°ΡšΠ΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡƒΠΌΠΈ Π·Π° Π±Ρ€ΠΈΡˆΠ΅ΡšΠ΅ сè ΡƒΡˆΡ‚Π΅ Π½Π΅ Π΅ Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ‚Π°, Π½Π°ΠΏΠ°Ρ“Π°Ρ‡ΠΎΡ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° Π³ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡƒΠΌΠΎΡ‚ со ΠΏΡ€ΠΈΠ²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ со симболична врска. Π”ΠΎΠΊΠΎΠ»ΠΊΡƒ дојдС Π²ΠΎ вистинско Π²Ρ€Π΅ΠΌΠ΅, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π°Ρ‚Π° remove_dir_all() ќС ја Ρ‚Ρ€Π΅Ρ‚ΠΈΡ€Π° симболичната врска ΠΊΠ°ΠΊΠΎ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡƒΠΌ ΠΈ ќС Π·Π°ΠΏΠΎΡ‡Π½Π΅ со ΠΎΡ‚ΡΡ‚Ρ€Π°Π½ΡƒΠ²Π°ΡšΠ΅ Π½Π° содрТината Π½Π° ΠΊΠΎΡ˜Π°ΡˆΡ‚ΠΎ ΡƒΠΊΠ°ΠΆΡƒΠ²Π° врската. И ΠΏΠΎΠΊΡ€Π°Ρ˜ Ρ„Π°ΠΊΡ‚ΠΎΡ‚ Π΄Π΅ΠΊΠ° успСхот Π½Π° Π½Π°ΠΏΠ°Π΄ΠΎΡ‚ зависи ΠΎΠ΄ точноста Π½Π° ΠΈΠ·Π±Ρ€Π°Π½ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° Π·Π°ΠΌΠ΅Π½Π° Π½Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡƒΠΌΠΎΡ‚ ΠΈ ΠΏΡ€ΠΈΡ‚ΠΈΡΠΊΠ°ΡšΠ΅ Π²ΠΎ вистинскиот ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΏΡ€Π²ΠΈΠΎΡ‚ ΠΏΠ°Ρ‚ Π΅ ΠΌΠ°Π»ΠΊΡƒ Π²Π΅Ρ€ΠΎΡ˜Π°Ρ‚Π½ΠΎ, Π·Π° Π²Ρ€Π΅ΠΌΠ΅ Π½Π° СкспСримСнтитС истраТувачитС ΠΌΠΎΠΆΠ΅Π° Π΄Π° постигнат ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π»ΠΈΠ² ΡƒΡΠΏΠ΅ΡˆΠ΅Π½ Π½Π°ΠΏΠ°Π΄ ΠΏΠΎ ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° Π΅ΠΊΡΠΏΠ»ΠΎΠ°Ρ‚Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π²ΠΎ Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ сСкунди.

Π‘ΠΈΡ‚Π΅ Π²Π΅Ρ€Π·ΠΈΠΈ Π½Π° Rust ΠΎΠ΄ 1.0.0 Π΄ΠΎ 1.58.0 сС засСгнати. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΡ‚ засСга Π΅ Ρ€Π΅ΡˆΠ΅Π½ Π²ΠΎ Ρ„ΠΎΡ€ΠΌΠ° Π½Π° Π·Π°ΠΊΡ€ΠΏΠ° (ΠΏΠΎΠΏΡ€Π°Π²ΠΊΠ°Ρ‚Π° ќС Π±ΠΈΠ΄Π΅ Π²ΠΊΠ»ΡƒΡ‡Π΅Π½Π° Π²ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅Ρ‚ΠΎ 1.58.1, ΠΊΠΎΠ΅ сС ΠΎΡ‡Π΅ΠΊΡƒΠ²Π° Π·Π° Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ часа). ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π³ΠΎ слСдитС ΠΎΡ‚ΡΡ‚Ρ€Π°Π½ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° ранливоста Π²ΠΎ дистрибуциитС Π½Π° ΠΎΠ²ΠΈΠ΅ страници: Debian, RHEL, SUSE, Fedora, Ubuntu, Arch, FreeBSD. Π‘ΠΈΡ‚Π΅ корисници Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ‚Π΅ Rust ΠΊΠΎΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ со Π·Π³ΠΎΠ»Π΅ΠΌΠ΅Π½ΠΈ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ ΠΈ ја користат Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π°Ρ‚Π° remove_dir_all сС совСтуваат ΠΈΡ‚Π½ΠΎ Π΄Π° Π³ΠΎ Π°ΠΆΡƒΡ€ΠΈΡ€Π°Π°Ρ‚ Rust Π½Π° Π²Π΅Ρ€Π·ΠΈΡ˜Π°Ρ‚Π° 1.58.1. Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½ΠΎ Π΅ ΡˆΡ‚ΠΎ ΠΎΠ±Ρ˜Π°Π²Π΅Π½ΠΈΠΎΡ‚ Π»Π΅ΠΏΠ΅Π½ΠΊΠ° Π½Π΅ Π³ΠΎ Ρ€Π΅ΡˆΠ°Π²Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΡ‚ Π½Π° ситС систСми; Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²ΠΎ REDOX OS ΠΈ Π²Π΅Ρ€Π·ΠΈΠΈΡ‚Π΅ Π½Π° macOS ΠΏΡ€Π΅Π΄ 10.10 (Yosemite), ранливоста Π½Π΅ Π΅ Π±Π»ΠΎΠΊΠΈΡ€Π°Π½Π° ΠΏΠΎΡ€Π°Π΄ΠΈ отсуството Π½Π° Π·Π½Π°ΠΌΠ΅Ρ‚ΠΎ O_NOFOLLOW, ΠΊΠΎΠ΅ Π³ΠΎ ΠΎΠ½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° ΡΠ»Π΅Π΄Π΅ΡšΠ΅Ρ‚ΠΎ симболично врски.

Π˜Π·Π²ΠΎΡ€: opennet.ru

Π”ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€