Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π°Ρ… с OpenSSH ΠΈΠ· состава RHEL 9, Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‰Π°Ρ ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°

Π’ процСссС изучСния выявлСнной Π½Π° ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΉ Π½Π΅Π΄Π΅Π»Π΅ критичСской уязвимости Π² OpenSSH, ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π° Π΅Ρ‰Ρ‘ ΠΎΠ΄Π½Π° похоТая ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ (CVE-2024-6409), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ выполнСния ΠΊΠΎΠ΄Π° Π±Π΅Π· прохоТдСния Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ. Новая ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π½Π΅ ΡΡ‚ΠΎΠ»ΡŒ опасна ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΡˆΠ»Π°Ρ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ проявляСтся послС сброса ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ Π² Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½ΠΎΠΌ SSH-сСрвСром Π΄ΠΎΡ‡Π΅Ρ€Π½Π΅ΠΌ процСссС. Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ присутствуСт Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π°Ρ… openssh ΠΈΠ· дистрибутива Red Hat Enterprise Linux 9, основанных Π½Π° ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΠΎΠΌ Π² 2021 Π³ΠΎΠ΄Ρƒ выпускС OpenSSH 8.7. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°Π΅Ρ‚ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ для Fedora Linux 36 ΠΈ 37, основанныС Π½Π° выпусках OpenSSH 8.7 ΠΈ 8.8.

По своСй сути ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Π° ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅ ΠΈ Ρ‚Π°ΠΊΠΆΠ΅ Π²Ρ‹Π·Π²Π°Π½Π° состояниСм Π³ΠΎΠ½ΠΊΠΈ Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ прСрывания SIGALRM, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰Π΅ΠΌ ΠΈΠ·-Π·Π° выполнСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π½Π΅ рассчитанных Π½Π° Π²Ρ‹Π·ΠΎΠ² Π² асинхронном Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΈΠ· ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² сигналов. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ срабатываСт ΠΏΡ€ΠΈ наступлСнии Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚Π°, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ LoginGraceTime, ΠΈ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π΅Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°. ИспользованиС Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ Π½Π΅ рассчитанных Π½Π° асинхронноС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… примСняСтся динамичСскоС Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ памяти, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ syslog(), ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½ΠΈΡŽ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… структур malloc ΠΏΡ€ΠΈ срабатывании SIGALRM Π²ΠΎ врСмя выполнСния ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.

Новая ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ отличаСтся Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ состояниС Π³ΠΎΠ½ΠΊΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΈΠ·-Π·Π° Π²Ρ‹Π·ΠΎΠ²Π° Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ сигнала grace_alarm_handler() Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ cleanup_exit(). Π’ основной ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Π΅ OpenSSH данная функция ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² асинхронно выполняСмом ΠΊΠΎΠ΄Π΅, Π½ΠΎ Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π°Ρ… ΠΊ RHEL 9 ΠΈ Fedora Π±Ρ‹Π» ΠΏΡ€ΠΈΠΌΠ΅Π½Ρ‘Π½ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ‚Ρ‡, Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ Π² cleanup_exit() Π²Ρ‹Π·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ событий Π°ΡƒΠ΄ΠΈΡ‚Π°, Π½Π° рассчитанной Π½Π° использованиС Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°Ρ… сигналов.

Π”Π°Π½Π½Ρ‹ΠΉ ΠΏΠ°Ρ‚Ρ‡ использовался Π² RHEL 9 ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹Ρ… дистрибутивах Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π°Ρ…, основанных Π½Π° OpenSSH 8.7p1. Π’ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… выпусках Fedora ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π½Π΅ проявляСтся, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ начиная с Fedora 38 дистрибутив ΠΏΠ΅Ρ€Π΅ΡˆΡ‘Π» Π½Π° Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ OpenSSH Π±Π΅Π· измСнСния cleanup_exit(). Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΉ уязвимости, для блокирования Π½ΠΎΠ²ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π½Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΎΠ±Ρ…ΠΎΠ΄Π½ΠΎΠΉ способ Π·Π°Ρ‰ΠΈΡ‚Ρ‹, основанный Π½Π° использовании Π² sshd ΠΎΠΏΡ†ΠΈΠΈ «-e», ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅ΠΉ Π²Ρ‹Π²ΠΎΠ΄ Π»ΠΎΠ³Π° Ρ‡Π΅Ρ€Π΅Π· syslog. Но ΠΏΡ€ΠΈ этом для блокирования уязвимости Π² sshd_config ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ «LoginGraceTime=0».

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