Уязвимост в strongSwan IPsec, водеща до отдалечено изпълнение на код

В strongSwan, VPN пакет на базата на IPSec, използван в Linux, Android, FreeBSD и macOS, е открита уязвимост (CVE-2023-41913), която може да бъде експлоатирана за отдалечено изпълнение на код от злонамерен потребител. Уязвимостта е причинена от грешка в процеса charon-tkm, свързан с реализирането на протокола за обмен на ключове (IKE) на базата на TKMv2 (Trusted Key Manager), водеща до преливане на буфер при обработка на специално форматирани стойности на схемата DH (Diffie–Hellman). Уязвимостта се проявява само в системи, които използват charon-tkm и в версии на strongSwan от 5.3.0 насам. Проблемът е решен в обновлението strongSwan 5.9.12. За коригиране на уязвимостта в клоновете, започващи от 5.3.x, също са подготвени пачове.

Грешката е причинена от липса на проверка на размера на публичните стойности на Diffie-Hellman преди копирането им в буфер с фиксиран размер в стека. Преливането може да бъде инициирано чрез изпращане на специално форматирано съобщение IKE_SA_INIT, обработвано без аутентификация. В по-старите версии на strongSwan проверката на размера е осъществявана в обработчика KE payload (Key Exchange), но в версия 5.3.0 са добавени промени, които прехвърлят проверката на публичните стойности на страната на обработчика на протокола DH (Diffie-Hellman) и добавят типизирани функции за опростяване на проверката на валидността на известните DH групи. Поради небрежност новите функции за проверка не са били добавени в процеса charon-tkm, работещ като прокси между процеса IKE и TKM (Trusted Key Manager), в резултат на което в функцията memcpy() са попаднали непроверени стойности, позволяващи записване в 512-байтовия буфер до 10000 байта данни.

Източник: opennet.ru

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster