O vulnerabilitate (CVE-2025-14558) a fost descoperită în procesul de fundal rtsold și în utilitarul rtsol utilizate în FreeBSD, care permite executarea de cod de la distanță cu privilegii de root prin trimiterea unui pachet special format cu un anunț IPv6-router. Mesajele RA (Router Advertisement), prin care vulnerabilitatea este exploatată, nu sunt rute și ar trebui să fie respinse de către routere. Pentru a efectua atacul, un atacator trebuie să aibă capacitatea de a trimite un pachet special format dintr-un sistem aflat în același segment de rețea cu gazda vulnerabilă.
Procesul de fundal rtsold este utilizat pe gazde pentru auto-configurarea conexiunii prin IPv6 folosind mecanismul SLAAC (StateLess Address AutoConfiguration). Gazda trimite un mesaj ICMPv6 RS (Router Solicitation) în mod multicast și așteaptă primirea mesajelor RA (Router Advertisement) de la routere, care conțin informații despre prefikșii de rețea și parametrii de configurare. Utilitarul rtsol implementează o funcționalitate similară fără a lansa un proces de fundal.
Vulnerabilitatea este cauzată de faptul că rtsold transmite lista „domain search” specificată în mesajul RA către utilitarul resolvconf fără a verifica corectitudinea și fără a scăpa caracterele speciale. Utilitarul resolvconf este un script shell care nu verifică datele de intrare. Pentru a exploata vulnerabilitatea, este suficient să se trimită un pachet RA cu un nume domeniu, care conține caractere speciale, de exemplu „test`id`test. Vulnerabilitatea a fost remediată în actualizările FreeBSD 15.0-RELEASE-p1, 14.3-RELEASE-p7, 13.5-RELEASE-p8.
În plus, în actualizările FreeBSD 14.3-RELEASE-p7 și 13.5-RELEASE-p8 (problema nu afectează ramura 15.x) a fost remediată o vulnerabilitate (CVE-2025-14769) în filtrul de pachete ipfw, care permite declanșarea unui refuz de serviciu prin trimiterea de pachete special formate. Vulnerabilitatea se manifestă doar la utilizarea directivei „tcp-setmss” în regulile ipfw. Problema este cauzată de faptul că handlerul tcp-setmss, în anumite circumstanțe, poate elibera memoria în care sunt stocate datele pachetului primit și returnează o eroare. Această eroare a fost ignorată de motorul de procesare a regulilor, ceea ce a permis ca regula următoare să permită trecerea pachetului, bufferul cu datele căruia a fost deja eliberat, ceea ce duce la dereferencierea unui pointer null.
Sursa: opennet.ro
