CVE-2026-9499 Out-of-bounds read in QTextCodec::codecForName() in Qt

Medium 6.3 Published Updated

An out-of-bounds read in Qt's QTextCodec can cause a denial of service when processing non-NUL-terminated byte arrays.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2026-9499?

CVE-2026-9499 is a medium-severity memory corruption vulnerability in Qt, published on 21 Jul 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

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.

Weakness: CWE-125

Which versions are affected by CVE-2026-9499?

Linux distribution packages (40)
qt6-qt5compat AlmaLinux:10All versions6.10.1-1.el10_2.1
qt6-qt5compat-devel AlmaLinux:10All versions6.10.1-1.el10_2.1
qt6-qt5compat-examples AlmaLinux:10All versions6.10.1-1.el10_2.1
qt5-qtbase AlmaLinux:8All versions5.15.3-9.el8_10
qt5-qtbase-common AlmaLinux:8All versions5.15.3-9.el8_10
qt5-qtbase-devel AlmaLinux:8All versions5.15.3-9.el8_10
qt5-qtbase-examples AlmaLinux:8All versions5.15.3-9.el8_10
qt5-qtbase-gui AlmaLinux:8All versions5.15.3-9.el8_10
qt5-qtbase-mysql AlmaLinux:8All versions5.15.3-9.el8_10
qt5-qtbase-odbc AlmaLinux:8All versions5.15.3-9.el8_10
qt5-qtbase-postgresql AlmaLinux:8All versions5.15.3-9.el8_10
qt5-qtbase-private-devel AlmaLinux:8All versions5.15.3-9.el8_10
qt5-qtbase-static AlmaLinux:8All versions5.15.3-9.el8_10
qt5-qtbase AlmaLinux:9All versions5.15.9-11.el9_8.1
qt5-qtbase-common AlmaLinux:9All versions5.15.9-11.el9_8.1
qt5-qtbase-devel AlmaLinux:9All versions5.15.9-11.el9_8.1
qt5-qtbase-examples AlmaLinux:9All versions5.15.9-11.el9_8.1
qt5-qtbase-gui AlmaLinux:9All versions5.15.9-11.el9_8.1
qt5-qtbase-mysql AlmaLinux:9All versions5.15.9-11.el9_8.1
qt5-qtbase-odbc AlmaLinux:9All versions5.15.9-11.el9_8.1
qt5-qtbase-postgresql AlmaLinux:9All versions5.15.9-11.el9_8.1
qt5-qtbase-private-devel AlmaLinux:9All versions5.15.9-11.el9_8.1
qt5-qtbase-static AlmaLinux:9All versions5.15.9-11.el9_8.1
qt6-qt5compat Red Hat:enterprise_linux:10.2All versions0:6.10.1-1.el10_2.1
qt6-qt5compat-debuginfo Red Hat:enterprise_linux:10.2All versions0:6.10.1-1.el10_2.1
qt6-qt5compat-debugsource Red Hat:enterprise_linux:10.2All versions0:6.10.1-1.el10_2.1
qt6-qt5compat-devel Red Hat:enterprise_linux:10.2All versions0:6.10.1-1.el10_2.1
qt6-qt5compat-examples Red Hat:enterprise_linux:10.2All versions0:6.10.1-1.el10_2.1
qt6-qt5compat-examples-debuginfo Red Hat:enterprise_linux:10.2All versions0:6.10.1-1.el10_2.1
qt6-qt5compat-tests-debuginfo Red Hat:enterprise_linux:10.2All versions0:6.10.1-1.el10_2.1
qt5-qtbase Red Hat:enterprise_linux:8::appstreamAll versions0:5.15.3-9.el8_10
qt5-qtbase-common Red Hat:enterprise_linux:8::appstreamAll versions0:5.15.3-9.el8_10
qt5-qtbase-debuginfo Red Hat:enterprise_linux:8::appstreamAll versions0:5.15.3-9.el8_10
qt5-qtbase-debugsource Red Hat:enterprise_linux:8::appstreamAll versions0:5.15.3-9.el8_10
qt5-qtbase-devel Red Hat:enterprise_linux:8::appstreamAll versions0:5.15.3-9.el8_10
qt5-qtbase-devel-debuginfo Red Hat:enterprise_linux:8::appstreamAll versions0:5.15.3-9.el8_10
qt5-qtbase-examples Red Hat:enterprise_linux:8::appstreamAll versions0:5.15.3-9.el8_10
qt5-qtbase-examples-debuginfo Red Hat:enterprise_linux:8::appstreamAll versions0:5.15.3-9.el8_10
qt5-qtbase-gui Red Hat:enterprise_linux:8::appstreamAll versions0:5.15.3-9.el8_10
qt5-qtbase-gui-debuginfo Red Hat:enterprise_linux:8::appstreamAll versions0:5.15.3-9.el8_10

How do I fix CVE-2026-9499?

Apply the vendor's patch.

Upgrade to the fixed version. Memory-safe languages, compiler hardening and fuzzing prevent most new cases. More about Memory corruption.

Is CVE-2026-9499 being exploited?

There is no known exploitation of CVE-2026-9499 in the wild and no public exploit code.

Sources

Also known as ALSA-2026:65816, ALSA-2026:65897, ALSA-2026:65993, CLSA-2026-1789398784, DEBIAN-CVE-2026-9499, ECHO-5c6a-872b-49bb and 25 more.

Is CVE-2026-9499 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free