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

Linux AF_PACKET: transport header для VLAN кадра проверяем по offset

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

Практическая проверка AF_PACKET VLAN header parsing по свежему kernel advisory: runtime build, upstream commit, безопасный fixture и чёткий stop-rule без production-нагрузки.

Узкая граница AF_PACKET VLAN header parsing

Для AF_PACKET VLAN header parsing проверяется не общий статус Linux, а один конкретный переход: Для VLAN frame network_header уже указывал на inner protocol, пока skb protocol оставался outer VLAN EtherType; dissector повторно читал IP bytes как vlan_hdr и мог оставить transport_header sentinel. Версионная граница статьи — присутствие stable commit из GHSA-wgjr-c9mx-3f4x либо документированного backport поставщика в загруженном kernel build. Собственный предмет этой страницы выражен как «таблицу outer EtherType × network offset × inner protocol × transport offset × sentinel state». Он не совпадает с соседними parser, filesystem, socket или workqueue задачами. Карточка от 4 сентября служит свежим сигналом; она не доказывает, что конкретный узел затронут или подвергался атаке.

Runtime-карта для AF_PACKET VLAN header parsing

Сначала соберите uname/build ID, distribution package revision, loaded module/feature state и mapping vendor advisory → stable commit без hostnames и пользовательских данных. Затем заполните «таблицу outer EtherType × network offset × inner protocol × transport offset × sentinel state» для фактически загруженного ядра. У AF_PACKET VLAN header parsing каждое поле отвечает на отдельный вопрос о достижимости и последовательности внутренних состояний; UNKNOWN нельзя заменять предположением по номеру дистрибутива. Сопоставьте vendor changelog с commit 01fdecc0480d916c799dbee584833a4a37e94d06 и сохраните package provenance. Имена машин, адреса, пользовательский трафик и дампы памяти в runtime-карту не входят.

Контроль без production-нагрузки

Для этой ветки допустим следующий bounded test: Offline skb selftest строит benign VLAN+IPv4+UDP header и сравнивает probe до/после network_header move, не отправляя frame в интерфейс. До опыта для AF_PACKET VLAN header parsing фиксируют нулевые side-effect counters и hash fixture, после — удаляют fixture и повторно проверяют baseline. Искомый результат сформулирован предметно: Transport offset указывает на UDP header, sentinel отсутствует, untagged control сохраняет прежний offset. Один boot, один test case или отсутствие crash не заменяют наблюдение названных состояний. Если официального selftest нет, выполняют только source/backport audit и оставляют runtime verdict UNKNOWN.

Решение по stable fix

План исправления для AF_PACKET VLAN header parsing: Установить поддерживаемое ядро с указанным stable fix либо подтверждённым backport поставщика; до этого исключить достижимый component path по change control. PASS ставится только при подтверждённом build provenance и выполнении условия «Transport offset указывает на UDP header, sentinel отсутствует, untagged control сохраняет прежний offset.». UPDATE-REQUIRED означает, что commit/backport отсутствует при достижимой функции. NOT-REACHABLE описывает только проверенный module path, но не весь kernel. После обновления повторяют именно «таблицу outer EtherType × network offset × inner protocol × transport offset × sentinel state» и обычный smoke компонента. При расхождении исходников, package metadata и running build результат остаётся UNKNOWN без попытки силового воспроизведения.

Stop-rule для AF_PACKET VLAN header parsing

Остановка обязательна: Не inject-ить frame в production bridge, не использовать capture с MAC/IP пользователей и не менять offload settings. Для AF_PACKET VLAN header parsing нельзя расширять права, длительность, packet volume, mount scope или concurrency только ради наблюдаемого сбоя. Advisory GHSA-wgjr-c9mx-3f4x описывает исправленную техническую возможность, но не историю данного сервера. Не публикуйте trigger bytes, рабочие идентификаторы, network captures или exploit recipe. Если безопасный upstream selftest недоступен, достаточный следующий шаг — обновление по vendor bulletin и проверка health, а не самостоятельный атакующий образец.

Доказательство и очистка

Минимальный evidence package для владельца AF_PACKET VLAN header parsing: kernel build, tag count, protocol classes, offsets, sentinel boolean и stable commit. Добавьте Moscow timestamp, expected/actual, ссылку на GHSA-wgjr-c9mx-3f4x и stable commit, а также результат cleanup. Уникальность отчёта задаёт сочетание «таблицу outer EtherType × network offset × inner protocol × transport offset × sentinel state» с конкретным контролем «Offline skb selftest строит benign VLAN+IPv4+UDP header и сравнивает probe до/после network_header move, не отправляя frame в интерфейс.». Полные журналы, IP, usernames, credentials и пользовательские payload исключаются. Такой пакет позволяет независимо проверить backport и решение, но не обещает совместимость иной ветки, отсутствие прошлой эксплуатации, массовость наблюдения, индексацию или позиции.

Материал подготовлен редакцией VOne с помощью автоматизированного черновика. Факты и границы вывода сверены 4 сентября 2026 года по прямой advisory и первичному источнику. Текст написан самостоятельно; опасные действия и реальные пользовательские данные не использовались.

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

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

Ответы

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

Ваш ответ

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

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

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