Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π² GSSAPI-ΠΏΠ°Ρ‚Ρ‡Π΅ ΠΊ OpenSSH, ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎ эксплуатируСмая Π½Π° стадии Π΄ΠΎ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ

Π’ примСняСмом Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… дистрибутивах Linux ΠΏΠ°Ρ‚Ρ‡Π΅ gssapi.patch, Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‰Π΅ΠΌ Π² OpenSSH ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΎΠ±ΠΌΠ΅Π½Π° ΠΊΠ»ΡŽΡ‡Π΅ΠΉ Π½Π° Π±Π°Π·Π΅ GSSAPI, выявлСна ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ (CVE-2026-3497), приводящая ΠΊ Ρ€Π°Π·Ρ‹ΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡŽ указатСля, ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½ΠΈΡŽ памяти ΠΈ ΠΎΠ±Ρ…ΠΎΠ΄Ρƒ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° раздСлСния ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ (Privsep). Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ эксплуатирована ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎ Π½Π° стадии Π΄ΠΎ осущСствлСния Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ. Π’Ρ‹ΡΠ²ΠΈΠ²ΡˆΠΈΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ продСмонстрировал ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎΠ³ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса Ρ‡Π΅Ρ€Π΅Π· ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΡƒ Π½Π° SSH-сСрвСр ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ сСтСвого ΠΏΠ°ΠΊΠ΅Ρ‚Π°. НС ΠΈΡΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠΌΠΈΠΌΠΎ ΠΎΡ‚ΠΊΠ°Π·Π° Π² обслуТивании, ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π±ΠΎΠ»Π΅Π΅ опасныС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ эксплуатации уязвимости.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‡Ρ‚ΠΎ Π² своё врСмя Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ OpenSSH ΠΎΡ‚ΠΊΠ°Π·Π°Π»ΠΈΡΡŒ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π² основной состав ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ GSSAPI ΠΈΠ·-Π·Π° сомнСний Π² Π΅Π³ΠΎ бСзопасности. ΠŸΡ€ΠΈ этом ΠΌΠ½ΠΎΠ³ΠΈΠ΅ дистрибутивы Linux Π²ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΏΠ°Ρ‚Ρ‡ Π² свои ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ c OpenSSH. Π’ ΠΎΠ±ΠΈΡ…ΠΎΠ΄Π΅ встрСчаСтся нСсколько вСрсий GSSAPI-ΠΏΠ°Ρ‚Ρ‡Π°, Π½ΠΎ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ ΠΈΠ· Π½ΠΈΡ… имССтся приводящая ΠΊ уязвимости ошибка. Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠΊΠ° доступно Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ„ΠΎΡ€ΠΌΠ΅ ΠΏΠ°Ρ‚Ρ‡Π°, измСнСния Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ сводятся ΠΊ Π·Π°ΠΌΠ΅Π½Π΅ Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ sshpkt_disconnect() Π½Π° ssh_packet_disconnect() Π² Ρ„Π°ΠΉΠ»Π΅ kexgsss.c.

Π’ настоящСС врСмя Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ уязвимости ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΎ Π² Debian ΠΈ Ubuntu. Π’ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… дистрибутивах ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ°Ρ‚Ρ‡Π° ΠΈ Π΅Π³ΠΎ ΠΏΠΎΠ΄Π²Π΅Ρ€ΠΆΠ΅Π½Π½ΠΎΡΡ‚ΡŒ уязвимости уточняСтся (SUSE/openSUSE, RHEL, Gentoo, Arch, Fedora). Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ проявляСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ Π² настройках ΠΎΠΏΡ†ΠΈΠΈ Β«GSSAPIKeyExchange yesΒ». На Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ эксплуатации Ρ‚Π°ΠΊΠΆΠ΅ Π²Π»ΠΈΡΡŽΡ‚ ΠΎΠΏΡ†ΠΈΠΈ компилятора с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π² дистрибутивах собран ΠΏΠ°ΠΊΠ΅Ρ‚.

ΠŸΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠ΅ уязвимости являСтся ошибка Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ sshpkt_disconnect(), ΠΈΠ·-Π·Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ процСсс Π½Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π»ΡΡ послС поступлСния disconnect-сообщСния, Ρ‡Ρ‚ΠΎ позволяло Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰Π΅ΠΌΡƒ Π½Π° стадии согласования ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π½Π΅ прСдусмотрСнный Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ сСрвСра Ρ‚ΠΈΠΏ GSSAPI-сообщСния. ПослС поступлСния Π²Π½Π΅ΠΏΠ»Π°Π½ΠΎΠ²ΠΎΠ³ΠΎ GSSAPI-сообщСния, сСрвСр ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ Π΅Π³ΠΎ Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΈ Π½Π΅ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π½ΠΎ ΠΏΡ€ΠΈ этом Π½Π΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ соСдинСния. Π’ дальнСйшСм Π² Ρ†ΠΈΠΊΠ»Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ событий выполняСтся ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ Π½Π΅ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ структуру recv_tok ΠΈΠ· стСка (Ρ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ Π΄Π°Π½Π½Ρ‹Π΅, ΠΎΡΡ‚Π°Π²ΡˆΠΈΠ΅ΡΡ Π² стСкС ΠΎΡ‚ ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ), отправляСт Π΅Ρ‘ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌΡƒ процСссу Ρ‡Π΅Ρ€Π΅Π· IPC ΠΈ Π·Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‘Ρ‚ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ gss_release_buffer(), которая ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ free() ΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΠ°ΠΌΡΡ‚ΡŒ для Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ указатСля, ΡΡΡ‹Π»Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ Π½Π° ΡΠ»ΡƒΡ‡Π°ΠΉΠ½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ памяти.

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

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ