К обсуждениям

free5GC UDR: ueId проходит строгий full-match

Редакция VOne Технологии

Безопасная проверка free5GC UDR EE subscription ueId по ghsa-6gxq-gpr8-xgjp: применимость, обратимый fixture, raw-id / grammar-branch / full-match / canonical-id / db-writes / query-result, PASS и stop-rule без production-данных.

Разберите симптом free5GC UDR EE subscription ueId

Отдельная пользовательская боль: catch-all regex alternative принимает любую непустую строку и сохраняет arbitrary identifier. Reviewed advisory описывает «free5GC UDR has improper `ueId` validation in EE subscription handlers that allows arbitrary identifier persistence»; практический механизм: Validation grammar должна быть anchored/full-match и перечислять допустимые SUPI/GPSI forms. Canonicalization происходит после успешного parse, не вместо него. Проверяем invariant «ueId принимается только при полном совпадении с документированным identifier grammar», а не общий класс проблем. Запись ghsa-6gxq-gpr8-xgjp опубликована 2026-06-11, обновлена 2026-06-11; ecosystem boundary: «go/github.com/free5gc/udr <= 1.4.3; first patched version not recorded in this ecosystem entry». Это не доказывает affected code в fork, факт эксплуатации, популярность или поисковый спрос.

Сопоставьте runtime и безопасный control

Зафиксируйте source package, runtime version, build digest, commit provenance, feature/config state и роль, достигающую ветви. Нормальный control: документированный synthetic identifier проходит и сохраняется один раз. Отдельно укажите самый ранний read/write/send/execute/cache/credential side effect. Если provenance или reachability неизвестна, статус unknown. Версионный диапазон «go/github.com/free5gc/udr <= 1.4.3; first patched version not recorded in this ecosystem entry» — фильтр; backport подтверждается diff и поведением, а не предположением.

Запустите обратимый fixture

Лабораторный опыт: Validator/service test подаст synthetic valid prefixes, empty, arbitrary text, prefix+suffix и Unicode variant; DB — recording adapter. Все идентификаторы и данные синтетические; network отключён или заменён recorder, filesystem ограничен mkdtemp, persistence — memory adapter/rollback. До запуска сохраните input digest, ожидаемое правило «arbitrary/partial forms отклонены до persistence и query» и нулевые counters. После — строку «raw-id / grammar-branch / full-match / canonical-id / db-writes / query-result», final-state digest и cleanup proof. Реальный payload, credential, нагрузка или production mutation запрещены.

Прочитайте матрицу raw-id / grammar-branch / full-match / canonical-id / db-writes / query-result

Убедитесь, что control прошёл именно нужную ветвь, затем найдите stage policy и любой чувствительный action. PASS возможен только если arbitrary/partial forms отклонены до persistence и query. Один status code, отсутствие exception или запись в лог не доказывают защиту. Для concurrency/state boundary используйте fixed barriers и малый детерминированный повтор. Любой неожиданный side effect переводит результат в fail/unknown до объяснения и полного cleanup.

Свяжите patch, stop-rule и решение

Diff исправления должен реализовать смысл «ueId принимается только при полном совпадении с документированным identifier grammar» до side effect. Красные флаги: fail-open, policy после action, несовпадение requested/effective target, неполный transport/path coverage или отсутствующий negative control. Stop-rule: не использовать subscriber identifier и не обращаться к UDR. Также остановитесь при privilege prompt, реальных данных, необратимой записи, росте ресурсов или невозможности cleanup. Дерево: proven patched — not-applicable; недостижимо — not-reachable; PASS — ready-for-reviewed-update; наблюдается «catch-all regex alternative принимает любую непустую строку и сохраняет arbitrary identifier» — fail; иначе unknown. В support packet включите ghsa-6gxq-gpr8-xgjp, build provenance, «raw-id / grammar-branch / full-match / canonical-id / db-writes / query-result», expected/observed, stop reason и две source URL без секретов/персональных данных. Production rollout требует отдельного backup, canary, readiness и rollback.

Материал подготовлен редакцией VOne с помощью ИИ; даты, диапазоны, прямые источники, безопасный fixture, privacy-границы и отсутствие рекламных обещаний затем перепроверены.

Источники и проверка

Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.

Ответы

0 опубликовано
Ответов пока нет. Вы можете начать обсуждение.

Ваш ответ

Добавьте свой опыт или уточнение по теме.

Вы публикуете как Аноним Аватар отличает разговоры, но не раскрывает личные данные.

Ответ появится сразу. Не публикуйте личные данные, ключи и приватные ссылки.