CVE-2026-9499
ŚrednieCVSS 6.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 22 - wyżej niż 22% wszystkich znanych CVE
Streszczenie
Podatność odczytu poza zakresem (buffer over-read) w funkcji QTextCodec::codecForName() w Qt. Gdy funkcja jest wywoływana z QByteArray niezakończonym znakiem NUL, procedura dopasowywania nazwy kodowania odczytuje dane poza dostarczonym buforem. W większości przypadków prowadzi to do wybrania nieprawidłowego kodowania; w najgorszym przypadku, jeśli odczyt trafi na niezmapowaną pamięć, proces ulega awarii (odmowa usługi). Luka dotyczy modułu Qt5Compat od Qt 6.0.0 oraz Qt Core w Qt 4.x i 5.x.
Ocena ryzyka
Ryzyko obejmuje potencjalną awarię aplikacji (DoS) oraz nieprawidłowe kodowanie tekstu, co może wpłynąć na integralność danych.
Rekomendacja
Zaleca się aktualizację Qt do wersji zawierającej poprawkę oraz unikanie przekazywania niezakończonych NUL QByteArray do funkcji QTextCodec::codecForName().
Inne podatności w Qt
Zobacz wszystkie- CVE-2025-6338Krytyczne
W Qt Network dla Windows (Schannel) występuje niekompletne czyszczenie zasobów, co z czasem może prowadzić do odmowy usługi (DoS). Problem dotyczy Qt od wersji 5.15.0 do 6.8.3 oraz od 6.9.0 przed 6.9.2.
- CVE-2025-12385Wysokie
W Qt Quick, w komponencie Text, brak walidacji szerokości i wysokości w tagu <img> może spowodować nadmierne alokowanie zasobów i zawieszenie aplikacji. Problem dotyczy Qt od wersji 5.0.0 do 6.10.0.
- CVE-2025-5992Niskie
Podatność w Qt w funkcji QColorTransferGenericFunction powoduje odmowę usługi przy przekazywaniu wartości spoza oczekiwanego zakresu, np. podczas przetwarzania specjalnie spreparowanego profilu ICC przez QColorSpace::fromICCProfile. Dotyczy Qt od 6.6.0 do 6.8.3 oraz od 6.9.0 do 6.9.1; naprawione w wersjach 6.8.4 i 6.9.2.
- CVE-2025-5991Niskie
Podatność Use-After-Free w Qt w QHttp2ProtocolHandler w module QtNetwork dotyczy tylko obsługi HTTP/2. Powstaje z powodu wyścigu między przesyłaniem treści żądania POST a jednoczesną obsługą błędów HTTP. Dotyczy tylko Qt 6.9.0; naprawione w Qt 6.9.1.
- CVE-2025-5683Średnie
W Qt wykryto podatność polegającą na awarii podczas ładowania specjalnie spreparowanego pliku obrazu w formacie ICNS przez QImage. Problem dotyczy wersji Qt od 6.3.0 do 6.5.9, od 6.6.0 do 6.8.4 oraz 6.9.0. Poprawka jest dostępna w wersjach 6.5.10, 6.8.5 i 6.9.1.
- CVE-2025-5455Wysokie
W QtCore znaleziono problem w prywatnej funkcji API qDecodeDataUrl(), używanej w QTextDocument i QNetworkReply. Wywołanie jej z nieprawidłowymi danymi, np. URL zawierającym parametr "charset" bez wartości, powoduje asercję i zatrzymanie programu (odmowa usługi).
- CVE-2025-4211Wysokie
W module Qt corelib na Windows znaleziono podatność na ataki symlinkowe przez funkcję QFileSystemEngine. Użycie GetTempPath API umożliwia manipulację ścieżkami plików tymczasowych, co może prowadzić do nieautoryzowanego dostępu i eskalacji uprawnień.
- CVE-2025-3512Średnie
W QTextMarkdownImporter biblioteki Qt wykryto podatność przepełnienia bufora na stercie. Problem występuje przy przetwarzaniu nieprawidłowo sformatowanego pliku Markdown. Dotyczy wersji Qt od 6.8.0 do 6.8.4; wersje do 6.6.0 są bezpieczne, a poprawka jest dostępna w 6.8.4 i nowszych.
- CVE-2023-37369Wysokie
W wersjach Qt przed 5.15.15, 6.x przed 6.2.9 oraz 6.3.x do 6.5.x przed 6.5.2 może wystąpić awaria aplikacji w QXmlStreamReader spowodowana specjalnie przygotowanym ciągiem XML, który wywołuje sytuację, w której prefiks jest większy od długości.
- CVE-2023-38197Wysokie
W Qt przed wersją 5.15.15 oraz 6.x przed 6.2.10 i 6.3.x do 6.5.x przed 6.5.3 odkryto problem związany z nieskończonymi pętlami w rekurencyjnej ekspansji encji.
Oryginalny opis (angielski, źródło NVD)
An out-of-bounds read (buffer over-read) vulnerability exists in QTextCodec::codecForName() in Qt. When the function is called with a QByteArray that is not NUL-terminated (for example, one created with QByteArray::fromRawData()), the codec-name matching routine reads past the end of the supplied buffer. In most cases this results in an incorrect text codec being selected; in the worst case, if the over-read reaches unmapped memory, the process crashes (denial of service). The over-read is bounded by the length of the longest codec-name candidate, and the out-of-bounds bytes are only compared internally against Qt's fixed list of codec names, so no data is disclosed to an attacker. Applications that do not pass non-NUL-terminated QByteArrays to QTextCodec::codecForName() are not exposed. The affected code resides in the Qt5Compat module from Qt 6.0.0 onward, and in Qt Core (qtbase) in Qt 4.x and Qt 5.x.

