CVE-2025-5455 Possible denial of service when passing malformed data in a URL to qDecodeDataUrl
Attackers can cause a denial of service by passing malformed URLs to Qt's qDecodeDataUrl function when assertions are enabled.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is CVE-2025-5455?
CVE-2025-5455 is a high-severity denial of service vulnerability in Qt, published on 2 Jun 2025. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.
Official description
An issue was found in the private API function qDecodeDataUrl() in QtCore, which is used in QTextDocument and QNetworkReply, and, potentially, in user code.
If the function was called with malformed data, for example, an URL that contained a "charset" parameter that lacked a value (such as "data:charset,"), and Qt was built with assertions enabled, then it would hit an assertion, resulting in a denial of service (abort).
This impacts Qt up to 5.15.18, 6.0.0->6.5.8, 6.6.0->6.8.3 and 6.9.0. This has been fixed in 5.15.19, 6.5.9, 6.8.4 and 6.9.1.
Weakness: CWE-20
Which versions are affected by CVE-2025-5455?
Linux distribution packages (40)
qt6-qtbase-common AlmaLinux:10 | All versions | 6.8.1-9.el10_0 |
qt5-qtbase AlmaLinux:9 | All versions | 5.15.9-11.el9_6 |
qt5-qtbase-common AlmaLinux:9 | All versions | 5.15.9-11.el9_6 |
qt5-qtbase-devel AlmaLinux:9 | All versions | 5.15.9-11.el9_6 |
qt5-qtbase-examples AlmaLinux:9 | All versions | 5.15.9-11.el9_6 |
qt5-qtbase-gui AlmaLinux:9 | All versions | 5.15.9-11.el9_6 |
qt5-qtbase-mysql AlmaLinux:9 | All versions | 5.15.9-11.el9_6 |
qt5-qtbase-odbc AlmaLinux:9 | All versions | 5.15.9-11.el9_6 |
qt5-qtbase-postgresql AlmaLinux:9 | All versions | 5.15.9-11.el9_6 |
qt5-qtbase-private-devel AlmaLinux:9 | All versions | 5.15.9-11.el9_6 |
qt5-qtbase-static AlmaLinux:9 | All versions | 5.15.9-11.el9_6 |
qt6-qtbase Red Hat:enterprise_linux:10.0 | All versions | 0:6.8.1-9.el10_0 |
qt6-qtbase-common Red Hat:enterprise_linux:10.0 | All versions | 0:6.8.1-9.el10_0 |
qt6-qtbase-debuginfo Red Hat:enterprise_linux:10.0 | All versions | 0:6.8.1-9.el10_0 |
qt6-qtbase-debugsource Red Hat:enterprise_linux:10.0 | All versions | 0:6.8.1-9.el10_0 |
qt6-qtbase-devel Red Hat:enterprise_linux:10.0 | All versions | 0:6.8.1-9.el10_0 |
qt6-qtbase-devel-debuginfo Red Hat:enterprise_linux:10.0 | All versions | 0:6.8.1-9.el10_0 |
qt6-qtbase-examples Red Hat:enterprise_linux:10.0 | All versions | 0:6.8.1-9.el10_0 |
qt6-qtbase-examples-debuginfo Red Hat:enterprise_linux:10.0 | All versions | 0:6.8.1-9.el10_0 |
qt6-qtbase-gui Red Hat:enterprise_linux:10.0 | All versions | 0:6.8.1-9.el10_0 |
qt6-qtbase-gui-debuginfo Red Hat:enterprise_linux:10.0 | All versions | 0:6.8.1-9.el10_0 |
qt6-qtbase-mysql Red Hat:enterprise_linux:10.0 | All versions | 0:6.8.1-9.el10_0 |
qt6-qtbase-mysql-debuginfo Red Hat:enterprise_linux:10.0 | All versions | 0:6.8.1-9.el10_0 |
qt6-qtbase-odbc Red Hat:enterprise_linux:10.0 | All versions | 0:6.8.1-9.el10_0 |
qt6-qtbase-odbc-debuginfo Red Hat:enterprise_linux:10.0 | All versions | 0:6.8.1-9.el10_0 |
qt6-qtbase-postgresql Red Hat:enterprise_linux:10.0 | All versions | 0:6.8.1-9.el10_0 |
qt6-qtbase-postgresql-debuginfo Red Hat:enterprise_linux:10.0 | All versions | 0:6.8.1-9.el10_0 |
qt6-qtbase-private-devel Red Hat:enterprise_linux:10.0 | All versions | 0:6.8.1-9.el10_0 |
qt6-qtbase-static Red Hat:enterprise_linux:10.0 | All versions | 0:6.8.1-9.el10_0 |
qt6-qtbase-tests-debuginfo Red Hat:enterprise_linux:10.0 | All versions | 0:6.8.1-9.el10_0 |
qt5-qtbase Red Hat:enterprise_linux:9::appstream | All versions | 0:5.15.9-11.el9_6 |
qt5-qtbase-common Red Hat:enterprise_linux:9::appstream | All versions | 0:5.15.9-11.el9_6 |
qt5-qtbase-debuginfo Red Hat:enterprise_linux:9::appstream | All versions | 0:5.15.9-11.el9_6 |
qt5-qtbase-debugsource Red Hat:enterprise_linux:9::appstream | All versions | 0:5.15.9-11.el9_6 |
qt5-qtbase-devel Red Hat:enterprise_linux:9::appstream | All versions | 0:5.15.9-11.el9_6 |
qt5-qtbase-devel-debuginfo Red Hat:enterprise_linux:9::appstream | All versions | 0:5.15.9-11.el9_6 |
qt5-qtbase-examples Red Hat:enterprise_linux:9::appstream | All versions | 0:5.15.9-11.el9_6 |
qt5-qtbase-examples-debuginfo Red Hat:enterprise_linux:9::appstream | All versions | 0:5.15.9-11.el9_6 |
qt5-qtbase-gui Red Hat:enterprise_linux:9::appstream | All versions | 0:5.15.9-11.el9_6 |
qt5-qtbase-gui-debuginfo Red Hat:enterprise_linux:9::appstream | All versions | 0:5.15.9-11.el9_6 |
How do I fix CVE-2025-5455?
Upgrade to a fixed version.
Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.
Is CVE-2025-5455 being exploited?
There is no known exploitation of CVE-2025-5455 in the wild and no public exploit code.
Sources
Also known as ALSA-2025:9462, ALSA-2025:9486, AZL-64349, AZL-64361, DEBIAN-CVE-2025-5455, ECHO-a29a-8133-4b8d and 14 more.