Through a little known command line argument, applications that configure custom protocol handlers and are are developed using the Qt5 graphical user interface framework can be exposed to a remote code execution vulnerability. What many developers don't know is that when you use the Qt5 framework, it also adds command line arguments that can be used to modify how the framework works, such as what window title to show, the size of the window, or even its icon. These command line arguments are passed to the function that initializes the Qt framework, where they are then parsed as shown below. One command line argument that is not well known is the platformpluginpath command, which specifies what folder Qt5 plugins are loaded from. This location can be a local folder or a remote UNC url. When this argument is provided, the program will use the inputted path to load the program's Qt plugins, which are specially crafted DLL programs that get loaded by the framework to extend its functionality. This means that if an attacker hosts a malicious DLL on a remote UNC share and can start the program using the platformpluginpath argument, they can remote load the DLL and execute it. In a report by Zero Day Initiative, security researcher Ziad Badawi explains how Qt5 based applications that create a custom URI handler and do not properly sanitize their command line arguments are vulnerable to remote code execution simply by clicking on a link on a web site. To illustrate how this command ...
Qt5-Based GUI Apps Susceptible to Remote Code Execution
BleepingComputer
·Published Apr 5, 2019
·Updated
Affected Software
3 affected components
Qt Qt5<5.15.9
Malwarebytes assistant=unknown
Cisco WebEx=unknown
Frequently Asked Questions
1
What is the main topic of this article?
The article discusses a remote code execution vulnerability in Qt5-based GUI applications.
2
What security implications are discussed?
The vulnerability can allow attackers to execute arbitrary code remotely through exposed custom protocol handlers.
3
What products or software are affected?
Affected software includes applications developed using the Qt5 framework, such as Malwarebytes assistant and Cisco WebEx.
4
Who is at risk from this vulnerability?
Developers and users of Qt5-based applications are at risk if their applications are not securely configured.
5
What is the recommended action for developers regarding this vulnerability?
Developers should review their use of command line arguments and ensure their applications properly handle custom protocol handlers to mitigate risks.