Уразлівасць у strongSwan IPsec, якая дапускае выдаленае выкананне кода

Даступны выпуск strongSwan 5.9.10, вольнага пакета для стварэння VPN-злучэнняў на базе пратаколу IPSec, які выкарыстоўваецца ў Linux, Android, FreeBSD і macOS. У новай версіі ўхіленая небяспечная ўразлівасць (CVE-2023-26463), якая можа быць скарыстана для абыходу аўтэнтыфікацыі, але патэнцыйна таксама можа прывесці да выканання кода атакавалага на боку сервера ці кліента. Праблема праяўляецца пры праверцы спецыяльна аформленых сертыфікатаў у метадах аўтэнтыфікацыі EAP (Extensible Authentication Protocol) на базе TLS.

Уразлівасць выклікана тым, што TLS-апрацоўшчык некарэктна прымае адкрытыя ключы з сертыфіката суседняга вузла (peer), лічачы іх годнымі даверу, нават калі сертыфікат не можа быць паспяхова верыфікаваны. У прыватнасці, пры выкліку функцыі tls_find_public_key(), для вызначэння годных даверу сертыфікатаў, выкарыстоўваецца выбарка на аснове тыпу адчыненага ключа. Праблема ў тым, што пераменная, якая выкарыстоўваецца для вызначэння тыпу ключа для аперацыі пошуку, выстаўляецца ў любым выпадку, нават калі сертыфікат не заслугоўвае даверу.

Больш таго, праз маніпуляцыю з ключом можна дамагчыся памяншэнні лічыльніка спасылак (калі сертыфікат не заслугоўвае даверу, спасылка на аб'ект вызваляецца пасля вызначэння тыпу ключа) і вызваленні памяці пад яшчэ выкарыстоўваны аб'ект з ключом. Разгледжаная недапрацоўка не выключае стварэнне эксплоітаў для арганізацыі ўцечкі інфармацыі з памяці і выкананні свайго кода.

Атака на сервер ажыццяўляецца праз адпраўку кліентам самападпісанага сертыфіката для аўтэнтыфікацыі кліента з выкарыстаннем метадаў EAP-TLS, EAP-TTLS, EAP-PEAP і EAP-TNC. Атака на кліента можа быць здзейснена праз вяртанне серверам спецыяльна аформленага сертыфіката. Узімасць праяўляецца ў выпусках strongSwan 5.9.8 і 5.9.9. Публікацыю абнаўленняў пакетаў у дыстрыбутывах можна прасачыць на старонках: Debian, Ubuntu, Gentoo, RHEL, SUSE, Arch, FreeBSD, NetBSD.

Крыніца: opennet.ru

Дадаць каментар