Научные сотрудники Технологического университета Наньян провели анализ программного обеспечения, управляющего сетями 4G и 5G, используя набор AI-агентов. В результате были обнаружены 84 ранее неизвестные уязвимости в системе безопасности.

Разработчики подтвердили наличие 83 из них, и 81 получила номера CVE. Наиболее серьёзная уязвимость позволяет злоумышленнику перехватить сеанс данных абонента и перенаправить трафик на свой адрес вместо предоставления доступа в интернет.

Перехват функционирует из-за неправильного предположения в архитектуре. Внутри сети один компонент определяет маршрут данных абонента и отправляет команду другому компоненту. Эти инструкции передаются по внутренним каналам, разработанным в эпоху, когда все оборудование находилось в защищённом помещении. По этой причине принимающая сторона обычно принимает любые поступающие данные без тщательной проверки. Злоумышленник, получивший доступ к одному из этих каналов, может отправить команду, переиспользующую идентификатор правила маршрутизации, уже назначенного реальному абоненту с более высоким приоритетом. Система не проверяет уникальность идентификатора. Сеть выбирает по приоритету и применяет правило атакующего, начиная перенаправлять исходящий трафик жертвы.

Атака была успешно проведена в лабораторных условиях против ядра 5G OpenAirInterface с открытым исходным кодом. Затем она была проверена на двух коммерческих ядрах 5G, включая воспроизведение в лаборатории партнёра с параметрами по умолчанию. Один производитель уже устранил проблему, и был назначен идентификатор CVE-2026-8233. Другой, крупный оператор 5G, всё ещё работает над исправлением.

Важность этого открытия подчеркивается тем, что ядра мобильных сетей теперь размещаются в облачных окружениях. Неправильная конфигурация может случайно открыть внутренний интерфейс для публичного интернета. Исследователи также протестировали второй способ атаки: обычный мобильный телефон с действующей SIM-картой, скрывая управляющие сетевые сообщения внутри канала передачи данных восходящей линии связи. Этот метод сработал против пяти из семи проанализированных ядер с открытым кодом.

Инструмент iFinder, обнаруживший все эти уязвимости, последовательно запускает три AI-агента. Первый анализирует исходный код в поисках мест, где данные входящих сообщений используются без проверки. Второй консультируется со стандартами 3GPP, чтобы определить, происходит ли отсутствующая проверка ранее в процессе обмена данными. Третий разрабатывает рабочий эксплуатационный код, запускает его в тестовой сети, анализирует журналы ошибок и переписывает код, пока тот не сработает или не будет признан неработающим. На наборе из 22 известных ранее уязвимостей инструмент выявил 15, при этом примерно четверть всех его отчётов содержит ошибки.

Результаты распределились неравномерно. Из 83 подтверждённых уязвимостей 58 были исправлены. Три из семи проектов не выпустили никаких исправлений, оставляя 23 подтверждённые проблемы с номерами CVE, но без никаких изменений кода.

Разброс в ответах в основном отражает оперативность и возможности разработки. OAI не ответила на отчёты, eUPF признала их, но указала, что исправления зависят от доступных ресурсов. Open5GS, SD-Core и free5GC активно сотрудничали и устранили выявленные проблемы.

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

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

Это оставляет открытый вопрос для всех, использующих коммерческое ядро. Унаследовали ли производители эти пробелы от общего происхождения с открытым кодом, или три находки просто совпали? Многие коммерческие ядра могут использовать или модифицировать стеки с открытым исходным кодом, и free5GC и OAI имеют коммерческие производные версии, поэтому пробелы в валидации исходного кода могут распространяться на продукты с такими же архитектурными предположениями. Три подтверждённых случая — это небольшая выборка, и прямой анализ коммерческих ядер не проводился, поэтому это рассматривается как подтверждающее свидетельство, а не вывод. Для установления масштаба наследования потребуется прямой анализ дополнительных коммерческих ядер.