OpenSSH 9.2, autentifikasiyadan əvvəl boşluq üçün düzəlişlə buraxıldı

OpenSSH 9.2-nin buraxılışı, SSH 2.0 və SFTP protokollarından istifadə etməklə işləmək üçün müştəri və serverin açıq tətbiqi nəşr olundu. Yeni versiya autentifikasiyadan əvvəlki mərhələdə yaddaşın ikiqat boşaldılmasına səbəb olan zəifliyi aradan qaldırır. Yalnız OpenSSH 9.1 buraxılışı təsirlənir; problem əvvəlki versiyalarda görünmür.

Zəifliyin təzahürü üçün şərait yaratmaq üçün SSH-nin versiyasından asılı olan “SSH_BUG_CURVE2.0PAD” və “SSH_OLD_DHGEX” bayraqlarını təyin etmək üçün SSH müştəri bannerini “SSH-9.1-FuTTYSH_1p25519”ə dəyişmək kifayətdir. müştəri. Bu bayraqları təyin etdikdən sonra “options.kex_algorithms” buferi üçün yaddaş iki dəfə boşaldılır - compat_kex_proposal() çağıran do_ssh2_kex() funksiyasını yerinə yetirərkən və input_userauth_requep(na), mm_getw () çağıran do_authentication2() funksiyasını yerinə yetirərkən. ), zəncir boyunca copy_set_server_options() , assemble_alqoritmləri() və kex_assemble_names().

Zəiflik üçün işləyən istismarın yaradılması ehtimalı az hesab olunur, çünki istismar prosesi çox mürəkkəbdir - müasir yaddaş ayırma kitabxanaları yaddaşın ikiqat boşaldılmasından qoruyur və xətanın mövcud olduğu əvvəlcədən auth prosesi təcrid olunmuş rejimdə azaldılmış imtiyazlarla işləyir. sandbox mühiti.

Qeyd edilən zəifliyə əlavə olaraq, yeni buraxılış daha iki təhlükəsizlik problemini də həll edir:

  • "PermitRemoteOpen" parametrini işləyərkən xəta baş verdi ki, bu da ilk arqumentin "hər hansı" və "heç biri" dəyərlərindən fərqləndiyi təqdirdə nəzərə alınmamasına səbəb oldu. Problem OpenSSH 8.7-dən daha yeni versiyalarda görünür və yalnız bir icazə göstərildikdə yoxlamanın atlanmasına səbəb olur.
  • Adları həll etmək üçün istifadə edilən DNS serverinə nəzarət edən təcavüzkar konfiqurasiyada CanonicalizeHostname və CanonicalizePermittedCNAMEs seçimləri aktivləşdirildikdə və sistem həlledicisi düzgünlüyünü yoxlamazsa, məlum_hosts fayllarında xüsusi simvolların (məsələn, “*”) əvəzlənməsinə nail ola bilər. DNS serverindən cavablar. Hücum ehtimalı azdır, çünki qaytarılan adlar CanonicalizePermittedCNAMEs vasitəsilə göstərilən şərtlərə uyğun olmalıdır.

Digər dəyişikliklər:

  • Komanda xəttini təmin edən "~C" qaçış ardıcıllığının müştəri tərəfindən işlənməsinin aktiv olub-olmamasına nəzarət etmək üçün ssh üçün ssh_config-ə EnableEscapeCommandline parametri əlavə edilmişdir. Defolt olaraq, "~C" ilə işləmə indi daha sıx sandbox izolyasiyasından istifadə etmək üçün qeyri-aktivdir, potensial olaraq işləmə zamanı port yönləndirməsi üçün "~C" istifadə edən sistemləri pozur.
  • ChannelTimeout direktivi sshd üçün sshd_config-ə kanalın fəaliyyətsiz qalma müddətini təyin etmək üçün əlavə edilmişdir (direktivdə göstərilən vaxt ərzində heç bir trafik qeydə alınmayan kanallar avtomatik bağlanacaq). Sessiya, X11, agent və trafikin yönləndirilməsi üçün müxtəlif fasilələr təyin edilə bilər.
  • UnusedConnectionTimeout direktivi sshd üçün sshd_config-ə əlavə edildi və bu, müəyyən müddət ərzində aktiv kanalları olmayan müştəri əlaqələrini dayandırmaq üçün fasilə təyin etməyə imkan verir.
  • “-V” seçimi ssh müştərisindəki oxşar seçimə bənzər versiyanı göstərmək üçün sshd-ə əlavə edilmişdir.
  • Host adı arqumentinin dəyərini əks etdirən "ssh -G" çıxışına "Host" sətri əlavə edildi.
  • Kopyalama buferinin ölçüsü və gözlənilən sorğuların sayı kimi SFTP protokol parametrlərinə nəzarət etmək üçün "-X" seçimi scp və sftp-ə əlavə edilmişdir.
  • ssh-keyscan tam CIDR ünvan diapazonlarını skan etməyə imkan verir, məsələn, "ssh-keyscan 192.168.0.0/24".

Mənbə: opennet.ru

Добавить комментарий