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

- **Publicat el:** 2026-02-24
- **Categoria:** Seguretat
- **Pàgina original:** https://linuxgratis.com/ca/articles/cve-2026-3038-route-stack-overflow-panic-freebsd

Un usuari sense privilegis pot provocar un panic del nucli a FreeBSD explotant un desbordament de búfer de pila a rtsock_msg_buffer(). T'expliquem a qui afecta, la gravetat i com aplicar el pegat.

---

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](/ca/freebsd).

## Font

- Avís oficial: [FreeBSD-SA-26:05.route](https://www.freebsd.org/security/advisories/FreeBSD-SA-26:05.route.asc)
- Detall del CVE: [CVE-2026-3038 a NVD](https://nvd.nist.gov/vuln/detail/CVE-2026-3038)
