На 30 юни 2026 г. бяха публикувани уведомления за корекции на 13 нови уязвимости в операционната система FreeBSD.
- CVE-2026-49418. Потребител с достъп до устройство с memory-mapped интерфейс може да организира double-free/use-after-free в ядрото. Вероятно това може да доведе до повишаване на привилегиите.
- CVE-2026-49419. (само FreeBSD 15+) Двойно намаляване на refcount на текущото jail-о при обработка на грешка при достъп до друго jail по jail descriptor (появили се в FreeBSD 15), водещо в крайна сметка до неочаквано освобождаване на управленската структура на jail-а и последващи use-after-free навсякъде, където се използва. Теоретично може да доведе до повишаване на привилегиите.
- CVE-2026-49415. При изпълнение на setuid-програма правата за достъп до нейната памет се установяват малко по-късно, отколкото паметта се инициализира, което позволява в кратък интервал от време достъп до нея и редактиране без необходимите привилегии чрез procfs или linprocfs. В повечето системи procfs, а още повече libprocfs, не са монтирани, така че проблемът вероятно засяга малко хора.
- CVE-2026-49429, CVE-2026-49430, CVE-2026-49431. (само за системи с ZFS) Първите две грешки са свързани с неправилно разпределение на памет: буфер с размер, предаден в 32-битов формат, се разпределя, а след това в него се записват данни с истинския размер, което води до препълване, ако реалният размер на буфера е над 4ГБ. И двете могат да се предизвикат само от root или потребител с явно добавени привилегии за уязвими операции. Третата грешка е достъпна за експлоатация от всеки, тя позволява на всеки да приложи флага " $hasrecvd" на dataset с помощта на ZFS_IOC_SET_PROP (колко опасно е, не е ясно от анонса).
- CVE-2026-49420. Липсата на подходяща проверка на размер на пакета преди записването му в буфера с фиксиран размер в стека в модула libalias за поддръжка на RTSP води до възможността за дистанционно и без авторизация препълване на стека или ядрото (за ipfw nat) или процеса natd (който обикновено се стартира от root). Потенциално може да доведе до RCE. Уязвимостта може да бъде предизвикана от злонамерен хост в локалната мрежа зад NAT, реализиран чрез libalias, който шлюзва злонамерени RTSP пакети. Следователно уязвимостта не засяга хостовете, на които не е активиран NAT в каквато и да е форма. Освен това: natd ще спре да бъде уязвим, ако се премахне редът libalias_smedia.so от /etc/libalias.conf и се рестартира natd, а ipfw nat няма да бъде уязвим без зареждане на модула alias_smedia.ko (не е посочено дали може да го зарежда автоматично). Също така, уязвимият обработчик разглежда само TCP/UDP пакети, насочени навън, при които едно от портовете е 554 или 7070 — ако се блокират такива пакети преди да влязат в NAT, уязвимостта също ще изчезне.
- CVE-2026-49421. unlinkat() и funlinkat() не са вземали предвид флага AT_RESOLVE_BENEATH, който трябваше да забранява при преминаване през този път да излиза извън границите на директорията, указана от аргумента dirfd. По този начин се е позволявало изтриването на файлове извън директорията, когато извикващият код е искал да наложи това ограничение.
- CVE-2026-49422. Състезание в модула tcp_rack.ko (по подразбиране не е зареден). На всеки tcp сокет може индивидуално да се избира tcp стек, през който ще работи, включително превключвайки ги на летящо. Ако направим следното: 1) на сокета с tcp_rack извикваме rack-специфичен setsockopt(), 2) в друг поток успяваме бързо да превключим tcp стека от rack на друг и отново да превключим обратно на rack в нужното време, то rack обработчикът setsockopt() ще работи със стария (преди превключването) адрес на структурата на състоянието на сокета, което води до повреждане на паметта и възможно повишаване на привилегиите. Уязвими са само системи, където е явно зареден tcp_rack.ko, това не е по подразбиране.
- CVE-2026-49427, CVE-2026-49428. POSIX largepages (shm_create_largepage) при алокация не са били достатъчно точно пометени като използвани, което е могло да доведе до тяхното неправилно освобождаване при различни обстоятелства (споменати са извикванията sendfile с флага SF_NOCACHE, open с флага O_TRUNC и fspacectl) и последващи use-after-free с обичайните последствия.
- CVE-2026-49426. Некоректни логове audit(4) за отдалени syscalls чрез ptrace(PT_SC_REMOTE). Те могат да объркат системите за анализ на подозрителни ситуации, ако се използват.
- CVE-2026-49423. Възможен kernel-panic при получаване на данни чрез kTLS с участие на TLS 1.2 CBC записи. За да се избегне проблема, можете да зададете kern.ipc.tls.enable=0 или kern.ipc.tls.cbc_enable=0.
- CVE-2026-49424. Изтичане на данни (104 байта) от стека на ядрото при извикване на linux-compat waitid(), който забравя да нулира неизползваната част от linux структурата siginfo_t при пренос на данни от FreeBSD. В стандартните GENERIC ядра linux емуляторът по подразбиране е изключен и се включва само чрез ръчно зареждане на модула.
- CVE-2026-49425. Подобно на предишното, 32-битовият kevent забравя да нулира 32-битовата структура преди да пренесе данни от родната 64-битова, което води до изтичане на данни от стека. По подразбиране 32-битовата съвместимост в ядрото е включена (не модул).
- CVE-2026-58081, CVE-2026-58082. Уязвимости в iconv. Първа: много от модулите му не проверяват размера на предоставения от извикващия код изходен буфер преди записване на резултата в него (споменати HZ, UTF-7, VIQR, ZW). Втора: модулът ISO-2022 използва 6-байтов буфер в стека за вътрешни операции, но в него могат да бъдат записани до 10 байта, което уврежда стека. В резултат на това, изпълнението на iconv за конвертиране към или от една от посочените кодировки с непроверени входни данни може да е уязвимо на препълване на буфери.
Източник: linux.org.ru
