Уязвимост Π² OpenSSH, позволяваща дистанционно изпълнСниС Π½Π° ΠΊΠΎΠ΄ с ΠΏΡ€Π°Π²Π° root Π½Π° ΡΡŠΡ€Π²ΡŠΡ€ΠΈ с Glibc

Компания Qualys ΠΎΡ‚ΠΊΡ€ΠΈ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Π° уязвимост (CVE-2024-6387) Π² OpenSSH, която позволява ΠΎΡ‚Π΄Π°Π»Π΅Ρ‡Π΅Π½ΠΎ изпълнСниС Π½Π° ΠΊΠΎΠ΄ с root ΠΏΡ€Π°Π²Π° Π±Π΅Π· нСобходимост ΠΎΡ‚ удостовСряванС. Уязвимостта, носСща ΠΊΠΎΠ΄ΠΎΠ²ΠΎΡ‚ΠΎ ΠΈΠΌΠ΅ regreSSHion, сС проявява Π² конфигурацията ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅, Π·Π°ΠΏΠΎΡ‡Π²Π°ΠΉΠΊΠΈ ΠΎΡ‚ вСрсия OpenSSH 8.5 Π½Π° систСми с стандартната Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Glibc.

Π’ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° Π°Ρ‚Π°ΠΊΠ° бСшС дСмонстрирана Π½Π° 32-Π±ΠΈΡ‚ΠΎΠ²Π° систСма с Glibc с Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Π·Π°Ρ‰ΠΈΡ‚Π° ASLR (рандомизация Π½Π° адрСсното пространство). Π—Π° ΡƒΡΠΏΠ΅ΡˆΠ½Π° Π°Ρ‚Π°ΠΊΠ° Π² Π»Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€Π½ΠΈ условия бяха Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈ 6-8 часа, Π² ΠΊΠΎΠΈΡ‚ΠΎ ΡΡŠΡ€Π²ΡŠΡ€Π°. Π½Π΅ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚ΠΎ сС установяваха Π²Ρ€ΡŠΠ·ΠΊΠΈ с максималната допустима Π² конфигурацията sshd интСнзивност. Π˜Π·Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π°Ρ‚Π°ΠΊΠ° сС улСснява ΠΈ изисква ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° систСми Π±Π΅Π· ASLR ΠΈΠ»ΠΈ Π² дистрибуции, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‰ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½ OpenSSH, Π² ΠΊΠΎΠΉΡ‚ΠΎ Π΅ ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π΅Π½Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½Π°Ρ‚Π° рандомизация ASLR Π·Π° всяка Π²Ρ€ΡŠΠ·ΠΊΠ°. РаботСщият ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ Π½Π° Сксплойта няма Π΄Π° бъдС ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½ΠΎ Π΄ΠΎ ΠΏΡŠΠ»Π½ΠΎΡ‚ΠΎ отстраняванС Π½Π° уязвимостта, Π½ΠΎ Π΅ Π½Π°Π»ΠΈΡ‡Π½ΠΎ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ описаниС Π½Π° ΡΡŠΡ‰Π½ΠΎΡΡ‚Ρ‚Π° Π½Π° уязвимостта, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈ появата Π½Π° странични Сксплойти само Π²ΡŠΠΏΡ€ΠΎΡ Π½Π° Π²Ρ€Π΅ΠΌΠ΅.

НС Π΅ ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° Π°Ρ‚Π°ΠΊΠ° ΠΈ Π½Π° 64-Π±ΠΈΡ‚ΠΎΠ²ΠΈ систСми, Π½ΠΎ работСщият Сксплойт Π·Π° Ρ‚Π°ΠΊΠΈΠ²Π° систСми всС ΠΎΡ‰Π΅ Π½Π΅ Π΅ Π³ΠΎΡ‚ΠΎΠ². Π‘Ρ‡ΠΈΡ‚Π° сС, Ρ‡Π΅ ΠΏΡ€ΠΎΠ²Π΅ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π°Ρ‚Π°ΠΊΠ° Π½Π° 64-Π±ΠΈΡ‚ΠΎΠ²ΠΈ систСми Ρ‰Π΅ ΠΎΡ‚Π½Π΅ΠΌΠ΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΏΠΎΠ²Π΅Ρ‡Π΅ Π²Ρ€Π΅ΠΌΠ΅, Π½ΠΎ Π½Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ сСдмица. OpenSSH Π² OpenBSD Π½Π΅ Π΅ засСгнат ΠΎΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Π² Ρ‚Π°Π·ΠΈ систСма ΠΎΡ‚ 2001 Π³ΠΎΠ΄ΠΈΠ½Π° сС ΠΏΡ€ΠΈΠ»Π°Π³Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΡŠΠΌ Π·Π° Π·Π°Ρ‰ΠΈΡ‚Π°, ΠΊΠΎΠΉΡ‚ΠΎ Π±Π»ΠΎΠΊΠΈΡ€Π° ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ класовС Π°Ρ‚Π°ΠΊΠΈ. На Π΄Ρ€ΡƒΠ³ΠΈ систСми, Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° стандартни Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΎΡ‚ Glibc, Ρ‚Π΅ΠΎΡ€Π΅Ρ‚ΠΈΡ‡Π½ΠΎ Π΅ възмоТна адаптация Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π·Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° Π°Ρ‚Π°ΠΊΠ° (Π² Qualys Ρ‚ΠΎΠ·ΠΈ Π²ΡŠΠΏΡ€ΠΎΡ всС ΠΎΡ‰Π΅ Π½Π΅ Π΅ изслСдван).

Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ устранСна Π² ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΠΎΠΌ сСгодня выпускС OpenSSH 9.8 (ΠΏΠ°Ρ‚Ρ‡). ΠŸΡ€ΠΎΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π² дистрибутивах ΠΌΠΎΠΆΠ½ΠΎ Π½Π° страницах: Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, ROSA, Gentoo, ALT Linux, Arch ΠΈ FreeBSD. Π’ качСствС ΠΎΠ±Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡƒΡ‚ΠΈ блокирования уязвимости Π² sshd_config ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Β«LoginGraceTime=0Β», ΠΏΡ€ΠΈ этом ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚Π° упростит ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡ‚ΠΊΠ°Π·Π° Π² обслуТивании ΠΏΡ€ΠΈ установкС большого числа соСдинСний, ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°ΡŽΡ‰ΠΈΡ… Π»ΠΈΠΌΠΈΡ‚Ρ‹, Π·Π°Π΄Π°Π½Π½Ρ‹Π΅ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ MaxStartups.
Одним ΠΈΠ· ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠ² ΠΏΠΎΠΏΡ‹Ρ‚ΠΎΠΊ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π°Ρ‚Π°ΠΊΠΈ являСтся появлСниС Π² Π»ΠΎΠ³Π΅ большого числа записСй Β«Timeout before authenticationΒ».

Уязвимостта възникна Π² Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½Π° рСгрСсивна промяна, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Π² ΠΈΠ·Π΄Π°Π½ΠΈΠ΅Ρ‚ΠΎ OpenSSH 8.5, която Π²ΠΎΠ΄ΠΈ Π΄ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ Π½Π° ΡΡŠΡΡ‚Π΅Π·Π°Π½ΠΈΠ΅ Π² ΠΊΠΎΠ΄Π° Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° сигнали Π² sshd. РСгрСсията Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ ΠΎΡ‚ΠΏΠ°Π΄Π°Π½Π΅ Π½Π° Π·Π°Ρ‰ΠΈΡ‚Π°Ρ‚Π° ΠΎΡ‚ старата уязвимост CVE-2006-5051, която сС ΠΏΡ€ΠΎΡΠ²ΡΠ²Π°ΡˆΠ΅ Π΄ΠΎ вСрсия OpenSSH 4.4 (2006 Π³ΠΎΠ΄ΠΈΠ½Π°) ΠΈ имашС Ρ‚Π΅ΠΎΡ€Π΅Ρ‚ΠΈΡ‡Π΅Π½ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€.
Π’ Ρ…ΠΎΠ΄Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ OpenSSH 8.5 ΠΏΠΎ ошибкС ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ sigdie(), которая Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ вызываСтся ΠΈΠ· ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° SIGALRM, Π±Ρ‹Π»Π° ΡƒΠ΄Π°Π»Ρ‘Π½ Π±Π»ΠΎΠΊ Β«#ifdef DO_LOG_SAFE_IN_SIGHANDΒ».

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡŠΡ‚ SIGALRM сС ΠΈΠ·Π²ΠΈΠΊΠ²Π° Π² sshd Π² асинхронСн Ρ€Π΅ΠΆΠΈΠΌ, Π°ΠΊΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΡŠΡ‚ Π½Π΅ Π΅ ΠΈΠ·Π²ΡŠΡ€ΡˆΠΈΠ» аутСнтификация Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ, Π»ΠΈΠΌΠΈΡ‚ΠΈΡ€Π°Π½ΠΎ ΠΎΡ‚ Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚Π° Π·Π° ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅ (LoginGraceTime, ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ 120 сСк.). Атаката сС основава Π½Π° Ρ„Π°ΠΊΡ‚Π°, Ρ‡Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡŠΡ‚ Π½Π° сигнала ΠΈΠ·Π²ΠΈΠΊΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ са бСзопасни ΠΏΡ€ΠΈ асинхронна ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° сигнали, ΠΊΠ°Ρ‚ΠΎ syslog(). Ѐункцията syslog() Π² Glibc Π½Π΅ Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€Π°Π½Π° Π·Π° ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π° Π² асинхронно изпълнявани ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ Π½Π° сигнали, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ ΠΈΠ·Π²ΠΈΠΊΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ malloc() ΠΈ free(). Π‘Ρ€Π°Π±ΠΎΡ‚Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° сигнала SIGALRM, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΏΡ€Π΅ΠΊΡŠΡΠ²Π° ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ ΠΊΠΎΠ΄ Π² sshd, ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ Π½Π°Ρ€ΡƒΡˆΠ°Π²Π°Π½Π΅ Π½Π° ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° изпълнСниС, Π° Π·Π°Π΄Π°Ρ‡Π°Ρ‚Π° Π½Π° Сксплойта Π΅ Π΄Π° създадС условия Π·Π° ΠΏΡ€Π΅ΠΊΡŠΡΠ²Π°Π½Π΅ Π½Π° нуТния ΠΊΠΎΠ΄ Π² нСобходимия ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π½Π° Π½Π΅Π³ΠΎΠ²ΠΎΡ‚ΠΎ изпълнСниС. Уязвимостта Π½Π΅ засяга OpenBSD, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Π² Π½Π΅Π³ΠΎ вмСсто syslog() ΠΎΡ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π½Π° сигнала SIGALRM сС ΠΈΠ·Π²ΠΈΠΊΠ²Π° функцията syslog_r(), спСциално създадСна Π·Π° асинхронно изпълнСниС.

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

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