El 26 de març de 2026 el projecte FreeBSD va publicar l’avís FreeBSD-SA-26:08.rpcsec_gss, que corregeix un error de gravetat crítica a la implementació de RPCSEC_GSS. El problema (CVE-2026-4747) afecta sobretot els servidors NFS que fan servir autenticació Kerberos, i el més greu és que un client maliciós el pot explotar sense haver-se autenticat abans.
Què falla exactament
RPCSEC_GSS és el mecanisme que dona integritat i xifratge a les crides RPC, i és la base de NFS amb seguretat Kerberos (sec=krb5, krb5i, krb5p). Cada paquet de dades RPCSEC_GSS es valida amb una rutina que comprova una signatura inclosa dins del mateix paquet. Per fer-ho, aquesta rutina copia una part del paquet a un buffer de la pila. L’error és just aquí: no comprova que el buffer sigui prou gran abans de copiar. Un client que enviï un paquet preparat per a això provoca un desbordament de pila.
Un stack overflow en context de kernel no és una simple penjada. Segons l’avís, pot derivar en execució remota de codi amb privilegis de kernel al servidor NFS. A l’espai d’usuari, els servidors RPC enllaçats amb librpcsec_gss queden igualment exposats a explotació remota des de qualsevol client.
A qui afecta
L’error és present a totes les versions suportades de FreeBSD:
- FreeBSD 15.0-RELEASE i stable/15
- FreeBSD 14.3 i 14.4, a més de stable/14
- FreeBSD 13.5-RELEASE i stable/13
Els components vulnerables són el mòdul de kernel kgssapi.ko (la implementació de RPCSEC_GSS) i la biblioteca d’espai d’usuari librpcsec_gss. Si tens un servidor NFS amb autenticació Kerberos i el mòdul carregat, ets al grup de risc directe. El mateix val per a qualsevol servidor RPC propi que enllaci amb librpcsec_gss.
Que no calgui autenticació canvia molt el càlcul del risc. No parlem d’un usuari que ja té accés al sistema, sinó d’algú que pugui arribar al port del servei per la xarxa.
Com mitigar-ho
La via bona és actualitzar. FreeBSD va aplicar les correccions el 26 de març de 2026 a totes les branques suportades, tant stable com les releng corresponents (releng/15.0, releng/14.4, releng/14.3 i releng/13.5). El procediment habitual serveix aquí: aplica el pedaç amb freebsd-update, o recompila el kernel i librpcsec_gss des de les branques corregides si gestiones el sistema des de fonts. Després cal reiniciar perquè el kernel nou entri en ús.
Si no pots aplicar el pedaç de seguida i no fas servir NFS amb Kerberos, descarregar el mòdul kgssapi.ko redueix la superfície exposada al costat del kernel. Tot i així, mentre el servei segueixi accessible des de xarxes no fiables el risc continua, així que convé limitar l’accés als ports de NFS i RPC amb el tallafoc mentre instal·les el pedaç definitiu.
Si gestiones FreeBSD en producció, aquest és dels que s’apliquen sense esperar la pròxima finestra de manteniment. Pots consultar més detalls a la fitxa de FreeBSD.
Font
- Avís oficial: FreeBSD-SA-26:08.rpcsec_gss
- Detall del CVE: CVE-2026-4747 a NVD