Qt5 GUI 开发的应用易受远程代码执行漏洞的影响

局长
 局长
发布于 2019年04月07日
收藏 8

外媒 Bleepingcomputer 报导称使用 Qt5 GUI 框架开发的应用程序容易面临远程代码执行漏洞。攻击者通过一个鲜为人知的命令行参数配置自定义协议处理程序,就可利用这个漏洞。

许多开发者并不知道当使用 Qt5 框架时,它还添加了可用于修改框架工作方式的命令行参数,例如要显示的窗口标题、窗口大小,甚至是图标。这些命令行参数会被传递给初始化 Qt 框架的函数,然后在其中对它们进行解析。

上文所说的鲜为人知的命令行参数是 platformpluginpath 命令,用于指定从哪个文件夹加载 Qt5 插件,可以是本地文件夹,或者是远程 UNC URL。

当将此参数提供给程序时,程序将使用已输入的路径加载程序的 Qt 插件,这些插件是由框架加载以扩展其功能的特制 DLL 程序

这意味着,如果攻击者在远程 UNC 上托管恶意 DLL 并且可以使用 platformpluginpath 参数启动程序,则他们可以远程加载 DLL 并执行它,从而进行远程代码执行。

不过由上面也能看出,攻击者要发起这样的攻击需要具备三个要素:

  1. 寻找一个基于 Qt5 框架的 GUI 应用程序
  2. 加载 Qt5 插件
  3. 注册自定义的 URI 处理程序

当然这不是说我们可以因此放松警惕,为了缓解这种类型的攻击,应用程序需要清理命令行参数,以避免远程共享。

 

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:Qt5 GUI 开发的应用易受远程代码执行漏洞的影响
加载中

精彩评论

oscyj
oscyj
既然都能修改命令行了,相当于得到了shell,还费什么事搞qt,想做什么都可以直接开干啦

最新评论(6

y
yh2216
platformpluginpath,这个具体怎么传入??
来自山卡拉的你
来自山卡拉的你
真是不说我都没留意还可以这样来指定😂
七合一的那只小金刚
七合一的那只小金刚

引用来自“oscyj”的评论

既然都能修改命令行了,相当于得到了shell,还费什么事搞qt,想做什么都可以直接开干啦
白加黑,dll宿主很重要。
小果汁儿
小果汁儿
没事哦
Mark哥是我
Mark哥是我

引用来自“oscyj”的评论

既然都能修改命令行了,相当于得到了shell,还费什么事搞qt,想做什么都可以直接开干啦
本身是无法运行的,利用qt运行…应该是这个意思
oscyj
oscyj
既然都能修改命令行了,相当于得到了shell,还费什么事搞qt,想做什么都可以直接开干啦
返回顶部
顶部