Кілька днів тому, Демієн Міллер (один із розробників OpenSSH), дав про це знати, через списки розсилки, Технічний випуск OpenSSH 9.9p2 що виправляє дві критичні вразливості відкриті Qualys, які можна використати для здійснення атак "Людина посередині" (MITM).
Зазначається, що ці несправності дозволив зловмиснику перехопити з'єднання SSH і змусити клієнта прийняти ключ шкідливого сервера замість законного ключа цільового сервера.
CVE-2025-26465: обхід перевірки ключа SSH
Першою з уразливостей, виправлених у випуску цієї виправної версії, є CVE-2025-26465. Ця вразливість пов’язана з логічною помилкою в утиліті ssh, що дозволяє зловмиснику обійти перевірку ключа сервера та успішно здійснити атаку MITM.
Коли клієнт намагається підключитися на сервер SSH, Зловмисник може перенаправити трафік на підроблений сервер і змусити клієнта прийняти неправильний ключ без попередження, вважаючи, що він підключений до законного сервера.
На додаток до цього, ця вразливість:
- Він присутній у OpenSSH з версії 6.8p1 (грудень 2014).
- Активується, коли ввімкнено параметр VerifyHostKeyDNS.
- У базовій конфігурації OpenSSH цей параметр вимкнено за замовчуванням, але у FreeBSD він був увімкнений до березня 2023 року.
Щодо причин які викликають цей збій, згадується, що Це тому, що функція verify_host_key_callback() викликає verify_host_key(), але він лише перевіряє, чи повернутий код помилки -1, ігноруючи інші коди помилок, наприклад -2. Коли verify_host_key() повертає -2, якщо пам’яті недостатньо, але через пропуск коду помилки, Система помилково припускає, що ключ хоста було перевірено правильно.
Таким чином, зловмисник може використати цю помилку, створивши фальшивий сервер SSH, який надсилає великий ключ хосту (256 КБ), спричиняючи надмірне споживання пам’яті клієнта та викликаючи стан необробленої помилки.
CVE-2025-26466: Витік пам’яті та надмірне споживання ЦП у SSH
Другою уразливістю, яку було виправлено, є CVE-2025-26466 і ця вразливість впливає як на клієнта ssh, так і на сервер sshd, з дозволяє виснажувати пам'ять процесу та створюють високе навантаження на ЦП, багаторазово надсилаючи пакети SSH2_MSG_PING.
Великий вплив цієї вразливості полягає в тому, що Його можна використовувати без автентифікації та впливає на OpenSSH, починаючи з версії 9.5p1 (серпень 2023). Крім того, це дозволяє зловмиснику споживати системні ресурси, знижуючи продуктивність і навіть викликаючи відмову в обслуговуванні (DoS).
Стосовно причин, які викликають цей збій, згадується, що це пов'язано з тим, що Кожен вхідний 2-байтовий пакет SSH16_MSG_PING викликає виділення 256-байтового буфера в пам'яті. Цей буфер не звільняється, доки не буде завершено узгодження ключа, що призводить до витоку пам’яті під час надсилання кількох пакетів PING.
Пом'якшення та рішення
Як обхідний шлях, Рекомендується встановити обмеження у sshd_config за допомогою таких директив:
- LoginGraceTime: Це обмежує час очікування для автентифікації.
- MaxStartups: обмежує кількість неавтентифікованих підключень.
- PerSourcePenalties: застосовує штрафи до клієнтів, які створюють кілька спроб підключення.
Що стосується рішення, Перший і найбільш рекомендований оновити OpenSSH до випущеної версії «9.9p2» якомога швидше виправити ці вразливості. Але якщо негайна модернізація неможлива, слід застосувати заходи пом’якшення, згадані вище. Крім того, рекомендується вимкнути VerifyHostKeyDNS, якщо не використовуються надійні механізми перевірки DNSSEC.
Якщо ви є зацікавлений дізнатися більше про це, Ви можете перевірити деталі в за наступним посиланням.
Як встановити OpenSSH на Linux?
Для тих, хто зацікавлений у можливості встановити цю нову версію OpenSSH на свої системи, наразі вони можуть це зробити завантаження вихідного коду цього і виконуючи компіляцію на своїх комп’ютерах.
Це пов’язано з тим, що нова версія ще не включена до сховищ основних дистрибутивів Linux. Щоб отримати вихідний код, ви можете зробити з за наступним посиланням.
Закінчило завантаження, тепер ми збираємося розпакувати пакет наступною командою:
tar -xvf openssh-9.9p2.tar.gz
Вводимо створений каталог:
cd openssh-9.9p2
Y ми можемо скомпілювати з наступні команди:
./configure --prefix = / opt --sysconfdir = / etc / ssh make make install