Уязвимост Π² ld.so Π½Π° OpenBSD

Π”ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅Π½ Π·Π°Ρ€Π΅ΠΆΠ΄Π°Ρ‡ ld.so, част ΠΎΡ‚ OpenBSD, ΠΏΡ€ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ условия ΠΌΠΎΠΆΠ΅ Π΄Π° SUID/SGID-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ остави ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° срСда LD_LIBRARY_PATH ΠΈ ΠΏΠΎ Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ Π΄Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° външСн ΠΊΠΎΠ΄ Π² контСкста Π½Π° процСс, Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ с повишСни ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ. ΠŸΠ°Ρ‡ΠΎΠ²Π΅ Π·Π° корСкция Π½Π° уязвимостта са Π½Π°Π»ΠΈΡ‡Π½ΠΈ Π·Π° Ρ€Π΅Π»ΠΈΠ·ΠΈ 6.5 ΠΈ 6.6. Π‘ΠΈΠ½Π°Ρ€Π½ΠΈ ΠΏΠ°Ρ‡ΠΎΠ²Π΅ (syspatch) Π·Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈ amd64, i386 ΠΈ arm64 Π²Π΅Ρ‡Π΅ са Π² производство ΠΈ трябва Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ Π½Π°Π»ΠΈΡ‡Π½ΠΈ Π·Π° изтСглянС към ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π½Π° ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½Π΅ Π½Π° Ρ‚Π°Π·ΠΈ Π½ΠΎΠ²ΠΈΠ½Π°.

Π‘ΡŠΡ‰Π½ΠΎΡΡ‚Ρ‚Π° Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°: Π² Ρ…ΠΎΠ΄Π° Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° ld.so ΠΏΡŠΡ€Π²ΠΎ ΠΈΠ·Π²Π»ΠΈΡ‡Π° ΠΎΡ‚ срСдата стойността Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°Ρ‚Π° LD_LIBRARY_PATH, с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° функцията _dl_split_path() я ΠΏΡ€Π΅Π²Ρ€ΡŠΡ‰Π° Π² масив ΠΎΡ‚ стринговС β€” ΠΏΡŠΡ‚ΠΈΡ‰Π° към Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ. Ако ΠΏΠΎ-късно сС установи, Ρ‡Π΅ тСкущият процСс Π΅ стартиран ΠΎΡ‚ SUID/SGID-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Ρ‚ΠΎ ΡΡŠΠ·Π΄Π°Π΄Π΅Π½ΠΈΡΡ‚ масив ΠΈ самата ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° LD_LIBRARY_PATH сС изчистват. ΠŸΡ€ΠΈ Ρ‚ΠΎΠ²Π°, Π°ΠΊΠΎ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° _dl_split_path() сС сблъска с нСдостиг Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚ (ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ ΠΏΠΎΡ€Π°Π΄ΠΈ явното ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡ‚Π΅ срСда ΠΎΡ‚ 256 ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡ‚Π°, Π½ΠΎ Ρ‚Π΅ΠΎΡ€Π΅Ρ‚ΠΈΡ‡Π½ΠΎ възмоТно), Ρ‚ΠΎ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°Ρ‚Π° _dl_libpath Ρ‰Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈ стойност NULL, Π° послСдващата ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° стойността Π½Π° Ρ‚Π°Π·ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° Ρ‰Π΅ Π½Π°ΠΊΠ°Ρ€Π° Π΄Π° сС пропуснС ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° _dl_unsetenv("LD_LIBRARY_PATH").

Уязвимостта Π΅ ΠΎΡ‚ΠΊΡ€ΠΈΡ‚Π° ΠΎΡ‚ спСциалисти Qualys, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ няколко ΠΏΠΎ-Ρ€Π°Π½ΠΎ ΠΎΡ‚ΠΊΡ€ΠΈΡ‚ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ. ΠžΡ‚ΠΊΡ€ΠΈΠ»ΠΈΡ‚Π΅ уязвимостта изслСдоватСли ΠΏΠΎ сигурността отбСлязаха Π±ΡŠΡ€Π·ΠΈΠ½Π°Ρ‚Π° Π½Π° Ρ€Π΅ΡˆΠ°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°: ΠΏΠ°Ρ‡ΡŠΡ‚ бСшС ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²Π΅Π½ ΠΈ обновлСнията бяха ΠΈΠ·Π΄Π°Π΄Π΅Π½ΠΈ Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° Ρ‚Ρ€ΠΈ часа слСд ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° OpenBSD.

Π”ΠΎΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅: На ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π΅ присвоСн Π½ΠΎΠΌΠ΅Ρ€ CVE-2019-19726. Π’ списъка Π·Π° разпространСниС oss-security Π΅ Π½Π°ΠΏΡ€Π°Π²Π΅Π½ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»Π΅Π½ анонс, Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‰ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ Π½Π° Сксплоит, Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ Π² OpenBSD 6.6, 6.5, 6.2 ΠΈ 6.1 Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΈ
amd64 ΠΈ i386 (Π΅ΠΊΡΠΏΠ»ΠΎΠΈΡ‚ΡŠΡ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС Π°Π΄Π°ΠΏΡ‚ΠΈΡ€Π°Π½ ΠΈ Π·Π° Π΄Ρ€ΡƒΠ³ΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΈ).
ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ Π΅ Сксплоатиран Π² инсталация ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ ΠΈ позволява Π½Π° Π½Π΅ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½ Π»ΠΎΠΊΠ°Π»Π΅Π½ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π» Π΄Π° изпълни ΠΊΠΎΠ΄ с ΠΏΡ€Π°Π²Π° root Ρ‡Ρ€Π΅Π· подмяна Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΏΡ€ΠΈ стартиранС Π½Π° SUID-ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ΠΈ chpass ΠΈΠ»ΠΈ passwd. Π—Π° създаванС Π½Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈΡ‚Π΅ условия Π·Π° Сксплоатация Π·Π° нСдостиг Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π½Π°Π»ΠΎΠΆΠ΅Π½ΠΎΡ‚ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ RLIMIT_DATA Ρ‡Ρ€Π΅Π· setrlimit.

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

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