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

Linux kTLS splice: ошибка async decrypt должна остановить чтение

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

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

Узкая граница kTLS software receive readers

Для kTLS software receive readers проверяется не общий статус Linux, а один конкретный переход: Async decrypt error сохранялся в async_wait.err: recvmsg/read_sock его читали, а splice path мог продолжить, если sk_err уже очищен. Исправление добавляет одинаковую error boundary для третьего reader. Версионная граница статьи — присутствие stable commit из GHSA-vp2x-h945-mvcw либо документированного backport поставщика в загруженном kernel build. Собственный предмет этой страницы выражен как «матрицу reader API × parsed-record state × async_wait.err × bytes delivered × socket error». Он не совпадает с соседними parser, filesystem, socket или workqueue задачами. Карточка от 4 сентября служит свежим сигналом; она не доказывает, что конкретный узел затронут или подвергался атаке.

Runtime-карта для kTLS software receive readers

Сначала соберите uname/build ID, distribution package revision, loaded module/feature state и mapping vendor advisory → stable commit без hostnames и пользовательских данных. Затем заполните «матрицу reader API × parsed-record state × async_wait.err × bytes delivered × socket error» для фактически загруженного ядра. У kTLS software receive readers каждое поле отвечает на отдельный вопрос о достижимости и последовательности внутренних состояний; UNKNOWN нельзя заменять предположением по номеру дистрибутива. Сопоставьте vendor changelog с commit 06c2a53604fa1dc4820063828d7dadb3675b7af8 и сохраните package provenance. Имена машин, адреса, пользовательский трафик и дампы памяти в runtime-карту не входят.

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

Для этой ветки допустим следующий bounded test: Unit/KUnit fixture ставит persistent synthetic decrypt error и вызывает три reader paths; каждый возвращает ошибку и ноль application bytes. До опыта для kTLS software receive readers фиксируют нулевые side-effect counters и hash fixture, после — удаляют fixture и повторно проверяют baseline. Искомый результат сформулирован предметно: Все reader APIs прекращают connection на unauthenticated record; splice не выдаёт данные и error остаётся наблюдаемым до обработки. Один boot, один test case или отсутствие crash не заменяют наблюдение названных состояний. Если официального selftest нет, выполняют только source/backport audit и оставляют runtime verdict UNKNOWN.

Решение по stable fix

План исправления для kTLS software receive readers: Установить поддерживаемое ядро с указанным stable fix либо подтверждённым backport поставщика; до этого исключить достижимый component path по change control. PASS ставится только при подтверждённом build provenance и выполнении условия «Все reader APIs прекращают connection на unauthenticated record; splice не выдаёт данные и error остаётся наблюдаемым до обработки.». UPDATE-REQUIRED означает, что commit/backport отсутствует при достижимой функции. NOT-REACHABLE описывает только проверенный module path, но не весь kernel. После обновления повторяют именно «матрицу reader API × parsed-record state × async_wait.err × bytes delivered × socket error» и обычный smoke компонента. При расхождении исходников, package metadata и running build результат остаётся UNKNOWN без попытки силового воспроизведения.

Stop-rule для kTLS software receive readers

Остановка обязательна: Не направлять malformed TLS record в рабочий socket, не отключать authentication и не собирать plaintext. Для kTLS software receive readers нельзя расширять права, длительность, packet volume, mount scope или concurrency только ради наблюдаемого сбоя. Advisory GHSA-vp2x-h945-mvcw описывает исправленную техническую возможность, но не историю данного сервера. Не публикуйте trigger bytes, рабочие идентификаторы, network captures или exploit recipe. Если безопасный upstream selftest недоступен, достаточный следующий шаг — обновление по vendor bulletin и проверка health, а не самостоятельный атакующий образец.

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

Минимальный evidence package для владельца kTLS software receive readers: kernel release/build ID, kTLS enablement, reader path, error class, delivered-byte count и stable commit. Добавьте Moscow timestamp, expected/actual, ссылку на GHSA-vp2x-h945-mvcw и stable commit, а также результат cleanup. Уникальность отчёта задаёт сочетание «матрицу reader API × parsed-record state × async_wait.err × bytes delivered × socket error» с конкретным контролем «Unit/KUnit fixture ставит persistent synthetic decrypt error и вызывает три reader paths; каждый возвращает ошибку и ноль application bytes.». Полные журналы, IP, usernames, credentials и пользовательские payload исключаются. Такой пакет позволяет независимо проверить backport и решение, но не обещает совместимость иной ветки, отсутствие прошлой эксплуатации, массовость наблюдения, индексацию или позиции.

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

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

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

Ответы

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

Ваш ответ

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

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

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