Отсутствие проверки внешнего байта content_type в зашифрованных записях TLS 1.3 в s2n-tls позволяет активному посреднику незаметно отбрасывать отдельные записи данных приложения, при этом ни одна конечная точка не обнаружит модификацию. Раздел 5.2 RFC 8446 требует, чтобы внешний content_type всех зашифрованных записей TLS 1.3 был application_data (0x17). Реализация AEAD s2n-tls жестко кодирует это значение в дополнительных аутентифицированных данных вместо использования фактического байта провода, поэтому внешний content_type не покрывается тегом аутентификации.
Это обеспечивает выборочное подавление данных приложения. В сценариях конвейерной обработки HTTP удаление записи TLS, содержащей HTTP-запрос, может привести к десинхронизации запросов и ответов, при которой последующие ответы доставляются на неправильные запросы. В рабочих нагрузках с большим объемом записи отброшенная запись, содержащая запрос на запись, может привести к необнаружимой потере данных, когда клиент интерпретирует последующий успешный ответ как подтверждение отброшенной записи.
Затронуты все соединения TLS 1.3. Затронуты как клиенты, так и серверы TLS. Соединения TLS 1.2 и QUIC не затронуты.
Мы рекомендуем вам обновить s2n-tls до версии v1.7.6.
Показать оригинальное описание (EN)
Missing validation of the outer content_type byte on TLS 1.3 encrypted records in s2n-tls allows an active man-in-the-middle to silently discard individual application data records without either endpoint detecting the modification. RFC 8446 Section 5.2 requires that the outer content_type of all encrypted TLS 1.3 records must be application_data (0x17). The s2n-tls AEAD implementation hardcodes this value in the additional authenticated data rather than using the actual wire byte, so the outer content_type is not covered by the authentication tag. This enables selective suppression of application data. In HTTP pipelining scenarios, dropping a TLS record containing an HTTP request can cause request/response desynchronization, where subsequent responses are delivered to the wrong requests. In write-heavy workloads, a dropped record containing a write request can result in undetectable data loss when the client interprets a subsequent success response as confirmation of the dropped write. All TLS 1.3 connections are affected. Both TLS clients and servers are affected. TLS 1.2 and QUIC connections are not affected. We recommend you upgrade s2n-tls to version v1.7.6
Характеристики атаки
Последствия
Строка CVSS v4.0