OpenSSH 9.2 ir izlaists ar iepriekšējas autentifikācijas ievainojamības labojumu

Ir publicēts OpenSSH 9.2 laidiens, atvērta klienta un servera ieviešana darbam, izmantojot SSH 2.0 un SFTP protokolus. Jaunā versija novērš ievainojamību, kas rada dubultu atmiņas atbrīvošanu pirmsautentifikācijas posmā. Tiek ietekmēts tikai OpenSSH 9.1 laidiens; problēma neparādās iepriekšējās versijās.

Lai radītu nosacījumus ievainojamības izpausmei, pietiek nomainīt SSH klienta reklāmkarogu uz “SSH-2.0-FuTTYSH_9.1p1”, lai iestatītu karogus “SSH_BUG_CURVE25519PAD” un “SSH_OLD_DHGEX”, kas ir atkarīgi no SSH versijas. klients. Pēc šo karogu iestatīšanas atmiņa “options.kex_algorithms” buferim tiek atbrīvota divas reizes - izpildot funkciju do_ssh2_kex(), kas izsauc compat_kex_proposal(), un izpildot funkciju do_authentication2(), kas izsauc input_userauth_request(), mmlow(getpwnamal) ), copy_set_server_options() visā ķēdē , assemble_algorithms() un kex_assemble_names().

Tiek uzskatīts, ka ievainojamības izmantošanas izveide ir maz ticama, jo ekspluatācijas process ir pārāk sarežģīts - modernās atmiņas piešķiršanas bibliotēkas nodrošina aizsardzību pret dubultu atmiņas atbrīvošanu, un pirmsautentēšanas process, kurā ir kļūda, tiek izpildīts ar samazinātām privilēģijām izolētā formātā. smilšu kastes vide.

Papildus atzīmētajai ievainojamībai jaunajā laidienā ir novērstas arī vēl divas drošības problēmas:

  • Apstrādājot iestatījumu "PermitRemoteOpen", radās kļūda, kā rezultātā pirmais arguments tika ignorēts, ja tas atšķiras no vērtībām "any" un "none". Problēma parādās versijās, kas jaunākas par OpenSSH 8.7, un tās dēļ pārbaude tiek izlaista, ja ir norādīta tikai viena atļauja.
  • Uzbrucējs, kas kontrolē nosaukumu atrisināšanai izmantoto DNS serveri, var panākt speciālo rakstzīmju (piemēram, “*”) aizstāšanu zināmos_hosts failos, ja konfigurācijā ir iespējotas opcijas CanonicalizeHostname un CanonicalizePermittedCNAMEs un sistēmas atrisinātājs nepārbauda atbildes no DNS servera. Uzbrukums tiek uzskatīts par maz ticamu, jo atgrieztajiem nosaukumiem ir jāatbilst nosacījumiem, kas norādīti CanonicalizePermittedCNAMEs.

Citas izmaiņas:

  • Iestatījums EnableEscapeCommandline ir pievienots ssh_config ssh, lai kontrolētu, vai ir iespējota komandrindas "~C" aizbēgšanas secības klienta puses apstrāde. Pēc noklusējuma “~C” apstrāde tagad ir atspējota, lai izmantotu stingrāku smilškastes izolāciju, tādējādi potenciāli sabojājot sistēmas, kuras izpildlaikā izmanto “~C” portu pārsūtīšanai.
  • ChannelTimeout direktīva ir pievienota sshd_config, lai sshd iestatītu kanāla neaktivitātes taimautu (kanāli, kuros netiek reģistrēta trafika direktīvā norādītajā laikā, tiks automātiski slēgti). Sesijai, X11, aģentam un trafika novirzīšanai var iestatīt dažādus taimautus.
  • UnusedConnectionTimeout direktīva ir pievienota sshd_config for sshd, kas ļauj iestatīt taimautu klientu savienojumu pārtraukšanai, kas noteiktu laiku ir bijuši bez aktīviem kanāliem.
  • Opcija “-V” ir pievienota sshd, lai parādītu versiju, līdzīgi kā līdzīgajai opcijai ssh klientā.
  • "ssh -G" izvadei tika pievienota rinda "Host", kas atspoguļo resursdatora nosaukuma argumenta vērtību.
  • Opcija "-X" ir pievienota scp un sftp, lai kontrolētu SFTP protokola parametrus, piemēram, kopēšanas bufera izmēru un neapstiprināto pieprasījumu skaitu.
  • ssh-keyscan ļauj skenēt pilnus CIDR adrešu diapazonus, piemēram, "ssh-keyscan 192.168.0.0/24".

Avots: opennet.ru

Pievieno komentāru