На 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-битово число, а след това в него се записват данни с действителния размер, което води до преливане, ако действителният размер на буфера е по-голям от 4GB. И двете могат да бъдат предизвикани само от root или потребител с явно дадени привилегии за уязвимите операции. Третата грешка е достъпна за експлоатация от всички, позволява на всеки да приложи флага „$hasrecvd“ на датасет чрез 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() ще работи със стария (предишен) адрес на структурата на състоянието на сокета, което води до повреждане на паметта и възможно повишаване на привилегиите. Уязвими са само системи, където is явно е зареден 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
