OpenSSH 9.2 издаден со поправка за ранливоста за предавтентикација

Објавено е изданието на OpenSSH 9.2, отворена имплементација на клиент и сервер за работа со користење на протоколите SSH 2.0 и SFTP. Новата верзија ја елиминира ранливоста што доведува до двојно ослободување на меморијата во фазата на предавтентикација. Засегнат е само изданието OpenSSH 9.1; проблемот не се појавува во претходните верзии.

За да се создадат услови за манифестација на ранливост, доволно е да се смени банерот на клиентот SSH во „SSH-2.0-FuTTYSH_9.1p1“ за да се постават знаменцата „SSH_BUG_CURVE25519PAD“ и „SSH_OLD_DHGEX“, кои зависат од верзијата на SSH клиент. По поставувањето на овие знаменца, меморијата за баферот „options.kex_algorithms“ се ослободува двапати - при извршување на функцијата do_ssh2_kex(), која повикува compat_kex_proposal(), и кога се извршува функцијата do_authentication2(), која повикува input_userauth_get_prowwn(amallow), ), copy_set_server_options() по должината на синџирот , assemble_algorithms() и kex_assemble_names().

Создавањето работен експлоат за ранливоста се смета за неверојатно, бидејќи процесот на експлоатација е премногу комплициран - современите библиотеки за распределба на меморија обезбедуваат заштита од двојно ослободување на меморијата, а процесот пред-авториум во кој е присутна грешката работи со намалени привилегии во изолиран околина со песок.

Покрај забележаната ранливост, новото издание поправа уште два безбедносни проблеми:

  • Се појави грешка при обработката на поставката „PermitRemoteOpen“, поради што првиот аргумент се игнорира ако се разликува од вредностите „било кој“ и „никој“. Проблемот се појавува во верзии понови од OpenSSH 8.7 и предизвикува проверката да се прескокне кога е наведена само една дозвола.
  • Напаѓачот што го контролира DNS-серверот што се користи за решавање на имињата може да постигне замена на специјални знаци (на пример, „*“) во датотеки познати_домаќини ако опциите CanonicalizeHostname и CanonicalizePermittedCNAMEs се овозможени во конфигурацијата, а системскиот резолутор не ја провери исправноста на одговори од DNS серверот. Нападот се смета за неверојатен бидејќи вратените имиња мора да одговараат на условите наведени преку CanonicalizePermittedCNAMEs.

Други промени:

  • Додадена е поставка EnableEscapeCommandline во ssh_config за ssh за да се контролира дали е овозможена обработката на клиентската страна на секвенцата за бегство „~C“ што ја обезбедува командната линија. Стандардно, ракувањето со „~C“ сега е оневозможено за да се користи построга изолација на песокот, што потенцијално ги крши системите што користат „~C“ за препраќање на портата при извршување.
  • Директивата ChannelTimeout е додадена на sshd_config за sshd за да го постави времето на неактивност на каналот (каналите во кои не е снимен сообраќај за времето наведено во директивата автоматски ќе се затворат). Може да се постават различни временски рокови за сесија, X11, агент и пренасочување на сообраќајот.
  • Директивата UnusedConnectionTimeout е додадена во sshd_config за sshd, што ви овозможува да поставите истек на време за прекинување на конекциите на клиентот кои биле без активни канали одредено време.
  • Опцијата „-V“ е додадена на sshd за да се прикаже верзијата, слично на сличната опција во ssh клиентот.
  • Додадена е линијата „Домаќин“ на излезот од „ssh -G“, што ја одразува вредноста на аргументот за името на домаќинот.
  • Опцијата „-X“ е додадена на scp и sftp за да се контролираат параметрите на протоколот SFTP како што се големината на баферот за копирање и бројот на барања што чекаат.
  • ssh-keyscan овозможува скенирање на целосни CIDR опсег на адреси, на пример „ssh-keyscan 192.168.0.0/24“.

Извор: opennet.ru

Додадете коментар