← Tornar als articles
Seguretat· 2 min de lectura

CVE-2026-3038: desbordament de pila als sockets d'encaminament de FreeBSD provoca panic del nucli

El 24 de febrer de 2026 l’equip de seguretat de FreeBSD va publicar l’avís FreeBSD-SA-26:05.route, que corregeix la CVE-2026-3038. És un desbordament de búfer de pila a la interfície de sockets d’encaminament del nucli, i deixa que un usuari local sense privilegis faci caure el sistema sencer amb un panic.

Què és la vulnerabilitat

La interfície de sockets d’encaminament (route(4)) és el que fan servir els processos de l’espai d’usuari per consultar i modificar la taula de rutes del nucli: afegir o eliminar rutes, vigilar canvis a les interfícies de xarxa i coses així. Eines com route o els dimonis d’encaminament en depenen.

El defecte és a la funció rtsock_msg_buffer(), que construeix els missatges dels sockets d’encaminament. Aquesta funció copia estructures sockaddr dins d’una sockaddr_storage que viu a la pila, però dona per fet que el camp de longitud del sockaddr d’origen ja s’havia validat abans. Quan aquest camp no es valida, un programa maliciós pot provocar un desbordament de fins a 127 bytes que escriu més enllà del búfer reservat a la pila.

A qui afecta

La vulnerabilitat afecta totes les versions suportades de FreeBSD, concretament:

  • FreeBSD 13.5
  • FreeBSD 14.3 i 14.4
  • FreeBSD 15.0

Com que el problema és al nucli i no en un servei exposat a la xarxa, el vector d’atac és local: l’atacant ha de poder executar codi a la màquina, encara que sigui com a usuari sense privilegis. Obrir un socket d’encaminament i disparar el defecte no demana permisos especials.

Gravetat i impacte

El desbordament sobreescriu el stack canary, el valor sentinella que el compilador col·loca per detectar corrupció de pila. Quan la funció retorna i es detecta aquesta corrupció, el nucli respon amb un panic immediat. El resultat és una denegació de servei (DoS) local: qualsevol usuari del sistema pot fer caure l’equip quan vulgui.

L’avís hi afegeix un matís important. La corrupció del canary atura l’atac en el cas normal, però poden existir altres defectes del nucli capaços de saltar-se aquesta protecció. Combinat amb una fuita del valor del canary o una altra vulnerabilitat, el desbordament obriria la porta a una escalada de privilegis. Per això es classifica com de gravetat alta i no com un simple DoS.

Mitigació i pegat

No hi ha cap workaround: l’única sortida és aplicar el pegat. FreeBSD ofereix tres vies:

  1. Sistema base amb paquets: executa pkg upgrade -r FreeBSD-base i reinicia.
  2. Binaris amb freebsd-update: executa freebsd-update fetch, després freebsd-update install i reinicia.
  3. Des del codi font: descarrega el pegat oficial des de security.FreeBSD.org, aplica’l i recompila el nucli, perquè el defecte és en codi del nucli.

Aplica l’actualització com més aviat millor en qualsevol FreeBSD multiusuari o que executi codi de tercers, que és on el risc de DoS local pesa més.

Si t’interessen els fonaments d’aïllament i enduriment de sistemes tipus Unix, fes una ullada també a la nostra fitxa de FreeBSD.

Font