← Tornar als articles
Seguretat· 3 min de lectura

CVE-2026-45250: un desbordament de pila a setcred(2) obre la porta a root a FreeBSD

El projecte FreeBSD ha publicat l’avís FreeBSD-SA-26:18.setcred per corregir CVE-2026-45250, una fallada de seguretat de memòria a la crida al sistema setcred(2). La gravetat és alta, amb CVSS 7.8, i és de les que fan respecte precisament per la causa tan banal: el kernel es refiava d’una dada de l’usuari sense comprovar-ne la mida abans de copiar-la.

Què és setcred(2) i on falla

setcred(2) és una crida relativament recent a FreeBSD que permet a un procés ajustar de cop diversos elements de les seves credencials (UID, GID, llista de grups suplementaris, etc.). Entre aquestes dades hi viatja una llista de grups suplementaris que entrega l’espai d’usuari.

L’error és en com el kernel tractava aquesta llista. Copiava els grups subministrats per l’usuari dins d’un buffer de pila de mida fixa del mateix kernel abans de validar-ne la longitud. Com que la comprovació de límits arribava després de l’escriptura, un procés podia passar una llista més llarga del que cap al buffer i desbordar la pila del kernel. És el patró clàssic de stack buffer overflow, però aquí passa al context més delicat que hi ha.

A qui afecta i per què importa

La fallada hi és present a totes les versions amb suport: 14.3-RELEASE, 14.4-RELEASE i 15.0-RELEASE, a més de les branques stable/14 i stable/15. Qualsevol sistema que executi un d’aquests kernels és vulnerable mentre no s’apliqui el pegat.

El model d’atac és el que ho fa seriós. No cal tenir privilegis per invocar setcred(2), així que un usuari local sense permisos especials pot disparar el desbordament. I com que es produeix dins del kernel, no es queda en un simple tancament del procés: un atacant amb prou habilitat pot manipular la pila per executar codi arbitrari en context de kernel i, amb això, escalar a root. En servidors compartits, sistemes amb comptes d’usuari poc fiables o entorns multiusuari, això vol dir control total de la màquina a partir d’un compte corrent.

No consta explotació activa en el moment de la publicació, però una prova de concepte per a aquesta mena de fallada no és difícil de construir, així que val més no esperar.

Com protegir-se

FreeBSD ja té els pegats publicats. Les branques stable es van corregir el 6 de gener de 2026 i les branques release el 20 de maig de 2026. Tens diverses vies segons com gestionis el sistema:

  • Amb paquets del sistema base: pkg upgrade -r FreeBSD-base i reiniciar.
  • Amb freebsd-update: freebsd-update fetch && freebsd-update install i reiniciar.
  • Des de codi font: descarregar el pegat de https://security.FreeBSD.org/patches/SA-26:18/, verificar la signatura amb gpg, aplicar-lo amb patch i recompilar el kernel.

En els tres casos el reinici és obligatori, perquè la correcció és al kernel i no fa efecte fins que arrenques amb el nou. Si administres diverses màquines FreeBSD, prioritza les que tinguin usuaris sense confiança amb accés de shell: és on el risc és immediat.

Si vols repassar altres fallades recents que afecten la seguretat de FreeBSD, tens el cas de la fuita de descriptors a blocklistd.

Font