Хакер перехватывает ваш трафик — и это только начало. В «умных» 5G-сетях нашли 84 уязвимости

В открытых реализациях мобильных сетей обнаружили класс уязвимостей, связанных с избыточным доверием между компонентами.


h49ec29kwr120hgjej399ltbs8gc8n21.jpg

Внутренние механизмы мобильных сетей десятилетиями строились на доверии, но операторы перешли в облака, и старая архитектурная привычка превратилась в источник десятков уязвимостей. Специалисты Наньянского технологического университета нашли 84 ранее неизвестных изъяна в программном обеспечении ядер сетей 4G и 5G . Разработчики уже подтвердили 83 находки, а 81 получила номер CVE.

Проблемы обнаружили в семи открытых реализациях мобильного ядра, включая Open5GS, free5GC, OpenAirInterface, SD-Core и eUPF. Уязвимости затронули протоколы GTP-C и PFCP, через которые внутренние компоненты сети создают сеансы связи, передают данные и устанавливают правила маршрутизации.

Причина большинства ошибок связана не с одним неудачным фрагментом кода, а с общей моделью безопасности. Компоненты мобильного ядра часто считают сообщения от соседних узлов заведомо правильными. Поэтому программы могут не проверять обязательные поля, длину данных, допустимые значения и наличие свободных ресурсов. Такая логика появилась во времена, когда внутренние интерфейсы работали в физически изолированной инфраструктуре и почти не соприкасались с внешними сетями.

Облачные системы ослабили прежнюю границу. Ошибка в настройках сети или недостаточно изолированная инфраструктура способны открыть внутренние интерфейсы для злоумышленника. В некоторых случаях вредоносные служебные сообщения можно также спрятать внутри обычного пользовательского трафика и провести через базовую станцию к компонентам ядра.

Авторы назвали найденный класс проблем ошибками неявного доверия. Среди 84 уязвимостей чаще всего встречались ситуации, когда программа ожидала обязательное поле, но не проверяла его наличие. Другие ошибки позволяли передавать некорректные значения, нарушать состояние соединения или исчерпывать внутренние запасы памяти и служебных объектов. Из-за этого отдельные сетевые компоненты останавливались и переставали обслуживать запросы.

Чтобы искать такие недостатки, специалисты создали многоагентную систему iFinder на базе большой языковой модели. Сначала система выделяет повторяющиеся признаки известных ошибок, затем изучает исходный код и сверяет подозрительные участки со спецификациями 3GPP. Дальше iFinder автоматически готовит демонстрационный код, запускает его в испытательной среде и корректирует по журналам работы, пока не подтвердит уязвимость или не исчерпает лимит попыток.

Когда языковая модель просто проверяла код без дополнительных шагов, это давало слишком много ложных срабатываний. После того как результаты сверили со спецификациями и практически испытали, точность iFinder выросла с 28% до 75%. Система распознала около 68% заранее известных уязвимостей, использованных для проверки метода.

Самой опасной находкой оказался случай, когда злоумышленник мог перехватить сеанс связи. Атакующий мог отправить поддельный запрос PFCP и добавить правило с более высоким приоритетом, чем законная настройка абонента. Узел, который обрабатывал пользовательский трафик, принимал повторяющийся идентификатор без проверки и начинал пересылать исходящие данные жертвы злоумышленнику вместо интернета.

Специалисты воспроизвели атаку не только в открытой реализации, но и в двух коммерческих ядрах 5G с настройками по умолчанию. Один поставщик уже исправил ошибку, зарегистрированную как CVE-2026-8233 (4.6 Medium). Второй оператор на момент публикации продолжал готовить исправление. Ещё одна подтверждённая проблема в коммерческой системе получила номер CVE-2026-8232 (3.5 Low) и позволяла вызвать отказ в обслуживании.

Авторы советуют операторам не доверять безусловно всему внутри мобильного ядра, строго разделять сетевые компоненты и закрывать ненужный доступ к служебным интерфейсам. Разработчикам рекомендуют проверять структуру и смысл каждого сообщения, запрещать повторяющиеся идентификаторы правил и ограничивать выделяемые ресурсы, чтобы некорректный запрос завершался отказом, а не останавливал всю службу.