Один битый пакет против 4G: разбор CVE-2023-37017 — 9 июня 2026 г. в 18:15:13.362
Один битый пакет против 4G: разбор CVE-2023-37017 #telecom #4G #LTE #DOS Open5GS — open-source реализация ядра мобильной сети, которую используют в лабораториях, private LTE/5G и исследовательских стендах. В LTE за подключение базовых станций к ядру отвечает компонент MME, а обмен между базовой станцией и MME идет по интерфейсу S1-MME и протоколу S1AP. Когда базовая станция поднимается, она отправляет S1SetupRequest: служебное сообщение, в котором сообщает ядру свои параметры. В этом сообщении есть IE, то есть information element — отдельное поле протокола. Один из обязательных IE называется Global-ENB-ID: это идентификатор базовой станции. По стандарту 3GPP он должен присутствовать, но сетевой код не может считать стандарт гарантией безопасности. Любое входящее сообщение остается недоверенным вводом, особенно если оно приходит по сетевому протоколу от внешнего компонента. На Habr разобрали CVE-2023-37017 в Open5GS: MME в версиях до 2.6.4 можно уронить одним S1SetupRequest, если убрать из пакета обязательный Global-ENB-ID. Код Open5GS полагался на наличие этого поля как на инвариант: после разбора списка IE он доходил до ogs_assert(Global_ENB_ID). Если поле отсутствует, переменная остается NULL, assertion завершает процесс open5gs-mmed. Технически это ошибка на границе между спецификацией и реализацией. Парсер может принять структурно валидный ASN.1 APER-пакет, даже если в нем нет обязательного бизнес-поля. ASN.1 APER здесь важен потому, что это плотная бинарная кодировка: пакет должен быть пересобран корректно, иначе он отвалится еще на этапе декодирования и не дойдет до уязвимой логики. По практическому риску не стоит преувеличивать: до S1-MME обычно нет прямого сетевого пути из интернета, а коммерческие ядра операторов проходят отдельное тестирование. Но для private LTE, лабораторных EPC/5GC, промышленных сетей и форков Open5GS такой класс багов прикладной: атакующему достаточно оказаться в позиции базовой станции или получить маршрут через скомпрометированную фемтосоту/IPsec-контур. Источник @poxek | @poxek_ai | MAX | YT | RT | VK

