26 октября 2026 года вышел Qt 6.11.3 — заключительный корректирующий релиз ветки 6.11, включающий около 200 исправлений. Обновление затрагивает безопасность обработки данных, соединения HTTP/2 и WebSocket, потоковые запросы gRPC, а также ошибки графических и мультимедийных приложений.

Уязвимости в Qt затрагивали обработку данных и соединения HTTP/2
Qt — набор библиотек, с помощью которых разработчики создают приложения для компьютеров, мобильных устройств и других платформ. Поэтому ошибки в его компонентах могут проявляться в самых разных программах: от проблем с отображением интерфейса до аварийного завершения при получении специально подготовленных данных.
В день выхода Qt 6.11.3 разработчики опубликовали два бюллетеня безопасности, описывающих конкретные риски в предыдущих версиях:
- CVE-2026-107157 — ошибка чтения за пределами выделенной памяти в
QCborValue::fromCbor(), функции разбора данных формата CBOR. На затронутых 64-битных платформах специально подготовленный ввод мог вызвать сбой приложения и потенциально привести к раскрытию информации. Оценка CVSS 4.0 — 2,0 (низкая). - CVE-2026-107472 — проблема при преобразовании текста в кодировку TSCII через
QTextCodecиз модуля совместимости Qt 5. Обращение за пределы входного буфера могло привести к аварийному завершению программы или неправильной обработке текста. Оценка CVSS 4.0 — 4,3 (средняя).
Оба бюллетеня указывают Qt 6.11.3 среди версий с исправлениями. В перечень устранённых проблем входит и CVE-2026-95620, опубликованная 23 октября: ошибка использования освобождённой памяти в HTTP/2-клиенте QNetworkAccessManager позволяла вредоносному или скомпрометированному серверу вызвать сбой приложения. Для этой уязвимости разработчики указали оценку CVSS 4.0 — 2,1 (низкая).
Риск зависит от того, использует ли конкретная программа затронутые компоненты и обрабатывает ли соответствующие данные. Сам номер версии Qt внутри приложения ещё не описывает всех условий эксплуатации уязвимости.
HTTP/2 и WebSocket лучше справляются с разрывами и некорректными запросами
В Qt 6.11.2 некоторые запросы через HTTP/2 могли зависать, когда сервер отправлял служебный кадр GOAWAY — сигнал о прекращении обработки запросов на текущем соединении. Теперь запросы, которые сервер обозначил как необработанные, могут быть отправлены через новое соединение. Если повторная отправка невозможна, приложение получает ошибку ContentReSendError, вместо прежней неоднозначной ошибки или бесконечного ожидания.
Для WebSocket уточнили проверку размера заголовков на этапе установления соединения. Раньше избыточные заголовки в отдельных сценариях обрабатывались до завершения их получения. В Qt 6.11.3 лимит применяется по мере поступления данных, а слишком большой заголовок приводит к отклонению соединения с кодом CloseCodeTooMuchData.
Серверный модуль QHttpServer стал строже разбирать HTTP/1-запросы. Некорректное значение Content-Length теперь вызывает ответ 400 Bad Request. Изменился и разбор Transfer-Encoding: неподдерживаемые варианты и недопустимые комбинации кодировок больше не принимаются. Для клиентов, отправлявших ошибочно сформированные запросы, поведение сервера после обновления будет другим.
Qt gRPC исправляет потерю первых сообщений и вводит ограничения на размер данных
Одно из самых заметных изменений относится к QGrpcHttp2Channel, который используется для обмена сообщениями с сервисами по протоколу gRPC. В прежней реализации при потоковых вызовах первое сообщение иногда терялось, если отправлялось раньше заголовков HTTP/2. Особенно хорошо ошибка проявлялась при HTTPS-соединениях из-за задержки установки TLS. В Qt 6.11.3 порядок передачи исправлен.
Переработано и восстановление соединений. После неудачной попытки клиент теперь выдерживает увеличивающуюся паузу со случайным разбросом: от одной секунды до максимальных 120 секунд. Для отдельной попытки подключения задан предел в 20 секунд. Это меняет поведение приложений при недоступности сервера: вместо немедленных повторных подключений используется контролируемый интервал.
Появились ограничения, которые влияют на совместимость с существующими сервисами. По умолчанию сообщения размером более 4 МиБ отклоняются при получении, а метаданные ограничены 16 КиБ. Оба параметра можно изменить через переменные окружения. Одновременно стандартное окно приёма HTTP/2 увеличили с 64 КиБ до 4 МиБ на поток и до 16 МиБ на соединение. В проектах с крупными сообщениями эти настройки могут изменить результат обмена данными после обновления.
Исправлены сбои Qt Quick, мультимедиа и графического интерфейса
Часть правок касается ситуаций, которые пользователь видит прямо на экране. В QML вызов TextEdit.select() больше не создаёт сигнал textChanged: выделение текста не должно выглядеть для приложения как изменение его содержимого. В списке исправлений есть и проблема, из-за которой чтение цепочки локальных псевдонимов свойств QML в Qt 6.11.2 могло возвращать некорректные данные или приводить к сбою.
В Qt Multimedia устранены ошибки восстановления камеры на Android после сворачивания приложения и преждевременной остановки воспроизведения QMediaPlayer примерно через 400 миллисекунд после запуска. Затронуты также ситуации со звуковым выводом через PipeWire и завершением работы видеоприложений на Android.
Для графических интерфейсов отмечены исправления отображения значков при дробном масштабировании Windows, зависания обновления окон в Wayland и нескольких аварийных завершений в Qt Quick 3D. Это разные ошибки, поэтому эффект зависит от операционной системы, видеоподсистемы и компонентов конкретного приложения.
Qt 6.11.3 завершает серию патчей, а Qt 6.12 уже доступен как LTS
Разработчики называют Qt 6.11.3 последним релизом серии 6.11. Новые функции в него не добавляли; официальные примечания подтверждают сохранение совместимости исходного кода и двоичных компонентов в пределах ветки 6.11.x.
Обновление доступно через Qt Maintenance Tool или Qt Online Installer. Коммерческие пользователи получают установочные пакеты и исходные тексты через Qt Account Portal, пользователи открытой версии — через официальный каталог загрузок. В сообщении от 26 октября разработчики уточнили, что Qt for Python 6.11.3 появится в своих каналах распространения позднее, без точной даты.
К моменту выхода патча уже существовала Qt 6.12 LTS — ветка с долгосрочной поддержкой. При этом стандартный срок поддержки Qt 6.11 в официальной документации указан до 17 марта 2027 года. Таким образом, завершение запланированной серии корректирующих выпусков и окончание стандартного периода поддержки относятся к разным датам. Для проектов, продолжающих использовать Qt 6.11, версия 6.11.3 фиксирует набор исправлений, доступный на момент закрытия серии.
Источники
- Qt Blog — Qt 6.11.3 Released, 26 октября 2026 года
- Qt Project — официальные примечания к Qt 6.11.3
- Qt Security Advisory — CVE-2026-107157, 26 октября 2026 года
- Qt Security Advisory — CVE-2026-107472, 26 октября 2026 года
- Qt Security Advisory — CVE-2026-95620, 23 октября 2026 года
- Документация Qt — версии, совместимость и сроки поддержки