Ang kahinaan sa strongSwan IPsec na humahantong sa remote code execution

Ang strongSwan, isang IPSec-based na VPN package na ginagamit sa Linux, Android, FreeBSD, at macOS, ay may kahinaan (CVE-2023-41913) na maaaring samantalahin para sa remote na code execution ng isang attacker. Ang kahinaan ay dahil sa isang bug sa proseso ng charon-tkm kasama ang TKMv2 (Trusted Key Manager) na pagpapatupad nito ng Key Exchange (IKE) protocol, na nagreresulta sa isang buffer overflow kapag pinoproseso ang mga espesyal na na-format na DH (Diffie–Hellman) na mga halaga ng scheme. Lumalabas lang ang kahinaan sa mga system na gumagamit ng charon-tkm at strongSwan na mga release simula sa 5.3.0. Ang problema ay naayos sa strongSwan 5.9.12 update. Upang ayusin ang kahinaan sa mga sangay simula sa 5.3.x, inihanda din ang mga patch.

Ang error ay sanhi ng hindi pagsuri sa laki ng mga pampublikong halaga ng Diffie-Hellman bago kopyahin ang mga ito sa isang nakapirming laki ng buffer sa stack. Ang isang overflow ay maaaring simulan sa pamamagitan ng pagpapadala ng espesyal na ginawang IKE_SA_INIT na mensahe na pinoproseso nang walang pagpapatotoo. Sa mas lumang mga bersyon ng strongSwan, isinagawa ang pagsusuri ng laki sa tagapangasiwa ng KE payload (Key Exchange), ngunit sa bersyon 5.3.0 ay idinagdag ang mga pagbabago na inilipat ang tseke ng mga pampublikong halaga sa gilid ng DH protocol handler ( Diffie-Hellman) at nagdagdag ng mga generic na function upang pasimplehin ang pagsuri sa kawastuhan ng mga kilalang grupong D.H. Dahil sa isang oversight, nakalimutan nilang magdagdag ng mga bagong checking function sa charon-tkm na proseso, na gumagana bilang proxy sa pagitan ng proseso ng IKE at ng TKM (Trusted Key Manager), bilang resulta kung saan ang memcpy() function ay naglalaman ng mga hindi naka-check na value na nagpapahintulot ng hanggang 512 byte na maisulat sa isang 10000-byte na buffer data.

Pinagmulan: opennet.ru

Magdagdag ng komento