← Tornar als articles
Seguretat· 2 min de lectura

OpenBSD pegata iked(8): lectura fora de límits i desreferència de punter nul a IKEv2

El 4 d’abril de 2026 el projecte OpenBSD va publicar l’errata 027 (errata 033 a la branca 7.7) marcada com a SECURITY FIX. El pegat toca iked(8), el dimoni que s’encarrega de les negociacions IKEv2 per aixecar i mantenir túnels IPsec. La descripció oficial és breu: afegeix comprovacions més estrictes per evitar una lectura fora de límits, una desreferència de punter nul i mantenir consistent la màquina d’estats.

Què falla exactament

iked processa els missatges del protocol IKEv2 que arriben per la xarxa durant la fase de negociació d’una associació de seguretat. Quan el dimoni interpreta aquests missatges sense validar del tot el seu contingut, un paquet fet a mà pot portar-lo a llegir dades més enllà del buffer reservat (out-of-bounds read) o a seguir un punter que val NULL. El primer exposa memòria que no s’hauria de veure; el segon fa que el procés caigui.

El tercer punt que esmenta l’errata, mantenir la màquina d’estats consistent, apunta que certs missatges rebuts en un ordre o estat inesperat deixaven iked en una situació que no s’havia de donar, terreny propici per als dos problemes anteriors.

A qui afecta

A qualsevol sistema OpenBSD 7.7 o 7.8 que faci servir iked per a IPsec. Això inclou routers, tallafocs i passarel·les VPN basades en OpenBSD, un ús molt habitual en aquesta plataforma. Si la teva instal·lació no aixeca iked, no estàs exposat per aquesta via.

El vector és la xarxa: iked escolta trànsit IKEv2 (UDP 500 i 4500). Un atacant capaç d’enviar paquets al dimoni pot intentar disparar l’error sense autenticació prèvia, perquè aquests defectes són al camí de processament primerenc del missatge.

Gravetat

OpenBSD va classificar internament l’entrada com a severitat mitjana i no li va assignar cap CVE. L’impacte demostrat és denegació de servei (caiguda d’iked pel punter nul) i exposició de memòria del procés per la lectura fora de límits. No hi ha constància d’execució de codi a partir d’aquests errors, però una caiguda del dimoni VPN deixa sense túnels qui en depengui, i la fuita de memòria pot revelar material sensible de les negociacions en curs.

Mitigació

La solució és aplicar l’errata. A OpenBSD el procediment estàndard és syspatch, que descarrega i instal·la el pegat binari:

syspatch

Després d’instal·lar-lo, reinicia el dimoni perquè carregui el codi corregit:

rcctl restart iked

Si compiles des de codi font, aplica el pegat publicat a la pàgina d’errates i recompila iked. Mentre no puguis pegar, limitar amb pf quins orígens poden parlar IKEv2 amb el dimoni redueix la superfície d’atac, tot i que no substitueix l’arreglament.

Per mantenir-te al dia amb les correccions de seguretat d’OpenBSD convé revisar la fitxa d’OpenBSD i seguir la llista oficial d’errates.

Font