În strongSwan, un pachet VPN bazat pe protocolul IPSec, utilizat în Linux, Android, FreeBSD și macOS, a fost descoperită o vulnerabilitate (CVE-2023-41913), care poate fi exploatată pentru executarea de cod de la distanță de către un atacator. Vulnerabilitatea este cauzată de o eroare în procesul charon-tkm cu implementarea protocolului de schimb de chei (IKE) bazat pe TKMv2 (Trusted Key Manager), ducând la o depășire de buffer în timpul procesării valorilor schema DH (Diffie–Hellman) special concepute. Vulnerabilitatea se manifestă doar în sistemele care utilizează charon-tkm și în versiunile strongSwan începând cu 5.3.0. Problema a fost remediate în actualizarea strongSwan 5.9.12.Pentru corectarea vulnerabilității în ramurile începând cu 5.3.x, sunt disponibile și patch-uri.
Eroarea este cauzată de absența verificării dimensiunii valorilor publice Diffie-Hellman înainte de a fi copiate într-un buffer de dimensiune fixă în stivă. Depășirea buffer-ului poate fi inițiată prin trimiterea unui mesaj IKE_SA_INIT special conceput, care este procesat fără autentificare. În versiunile anterioare ale strongSwan, verificarea dimensiunii avea loc în handler-ul KE payload (Key Exchange), dar în versiunea 5.3.0 au fost efectuate modificări care au mutat verificarea valorilor publice în partea handler-ului protocolului DH (Diffie-Hellman) și au adăugat funcții de tip pentru simplificarea verificării corectitudinii grupurilor DH cunoscute. Din neatenție, noile funcții de verificare au fost omise în procesul charon-tkm, care funcționează ca un proxy între procesul IKE și TKM (Trusted Key Manager), rezultând în faptul că valori necontrolate au ajuns în funcția memcpy(), permițând scrierea a până la 10000 de bytes de date într-un buffer de 512 bytes.
Sursa: opennet.ro
