Apache Guacamole 安全缝隙公告
颁布功夫 2020-07-030x00 缝隙概述
|
产品 |
CVE ID |
类 型 |
缝隙等级 |
远程利用 |
影响领域 |
|
Apache Guacamole |
CVE-2020-9497 |
II |
严沉 |
是 |
Apache Guacamole < 1.2.0 |
|
CVE-2020-9498 |
MC |
严沉 |
是 |
0x01 缝隙详情
Check Point的安全专家在Apache Guacamole中发现了多个严沉的反向RDP缝隙。Apache Guacamole是系统治理员用于远程接见和治理Windows和Linux推算机的盛行远程桌面利用法式。攻击者能够利用这些缝隙实现对Guacamole服务器的齐全节造,并拦截和节造Guacamole上的所有会话。
信息泄露缝隙(CVE-2020-9497):
为了在RDP衔接和客户端之间传输新闻,开发人员为默认RDP通路实现了扩大,用于处置来自服务器的音频数据包(“rdpsnd”),传入的新闻由FreeRDP的wStream对象封装,并且使用该对象的API来解析数据。但是由于短缺输入过滤导致越界读取。如图所示:
攻击者通过发送一条恶意rdpsnd新闻获取到RDP客户端的内存信息。
在统一RDP通路中,分歧的新闻拥有类似的缝隙。这次将越界数据发送到衔接的客户端,而不是发送回RDP服务器。
读取的天堑类似,这次将数据泄露到客户端。
内存败坏缝隙(CVE-2020-9498)
RDP和谈将分歧的“devices”分成单独的“channels”,蕴含rdpsnd声音的通路,cliprdr剪贴板的通路等等。作为抽象层,通路新闻支持分段,从而允许其新闻最长为4GB。为了正确地支持rdpsnd和rdpdr(设备沉定向)通路,guacamole-server的开发人员增长了一个附加的抽象层,该抽象层在文件中实现:guac_common_svc.c。下图显示了在此文件中实现的传入通路的片段处置:
我们能够看到第一个片段必须蕴含该CHANNEL_FLAG_FIRST片段,并且在处置该片段时,将凭据total_length分配流。但是,若是攻击者发送不带该标志的片段会怎么?似乎只是将其附加到先前的渣滓流中�?杉馐怯赡诖姘踩芤鸬男罩刚敕煜�。此刻,我们只必要查抄开发人员是否记得上一条新闻处置实现时是否将悬空指针设置为NULL。
图中能够看出,新闻处置实现后,开释使用的流而没有断根悬空指针。
通过使用缝隙CVE-2020-9497和CVE-2020-9498,当远程用户要求衔接到受害者的推算机时,受习染的推算机(RDP服务器)能够节造guacd过程,从而实现远程代码执行。
值妥贴心的是,到目前为止,Apache Guacamole远程桌面利用法式在Docker Hub上的下载量已超过1000万,该缝隙影响领域较大,请有关用户升级到Apache Guacamole 1.2.0版本。
0x02 措置建议
目前厂商已颁布补丁,下载链接:
https://guacamole.apache.org/releases/1.2.0/
0x03 有关新闻
https://thehackernews.com/2020/07/apache-guacamole-hacking.html
0x04 参考链接
https://research.checkpoint.com/2020/apache-guacamole-rce/
0x05 功夫线
2020-07-02 Check Point颁布钻研汇报
2020-07-03 VSRC颁布缝隙公告


京公网安备11010802024551号