转自The Hacker News,作者Swati Khandelwal,合作站点转载请注明原文译者和出处为超级盾!
四种流行的开源VNC远程桌面应用程序被发现共存在37个安全漏洞,其中许多漏洞在过去20年里没有被注意到,最严重的漏洞可能会让远程攻击者危害目标系统。
VNC (virtual network computing)是一种基于RFB (Remote FrameBuffer)的开源图形桌面共享协议,允许用户远程控制另一台计算机,类似于Microsoft的RDP服务。
VNC系统的实现包括在共享桌面的计算机上运行的“服务器组件”和在访问共享桌面的计算机上运行的“客户端组件”。
换句话说,VNC允许您使用鼠标和键盘在远程计算机上工作,就好像您坐在它前面一样。
有许多VNC应用程序,包括免费的和商业的,与广泛使用的操作系统如linux、macOS、windows和Android兼容。
考虑到目前有超过60万台VNC服务器可以通过互联网远程访问,其中近32%连接到工业自动化系统,网络安全研究人员审计了四种广泛使用的VNC开源实现,包括:
LibVNC
UltraVNC
TightVNC 1.x
TurboVNC
通过对这些VNC软件的分析,研究人员在客户端和服务器软件中总共发现了37个新的内存损坏漏洞:
其中UltraVNC发现了22个,LibVNC发现了10个,TightVNC发现了4个,TurboVNC发现了1个。
所有的错误都与不正确的内存使用有关。利用它们只会导致故障和拒绝服务——这是一个相对有利的结果,”
卡巴斯基说。在更严重的情况下,攻击者可以未经授权访问设备上的信息,或者向受害者的系统释放恶意软件。
一些被发现的安全漏洞还可能导致远程代码执行(RCE)攻击,这意味着攻击者可以利用这些漏洞在目标系统上运行任意代码并控制它。
由于客户端应用程序接收更多的数据,并且包含数据解码组件,开发人员在编程时经常出错,因此大多数漏洞都会影响这些软件的客户端版本。
另一方面,服务器端相对来说包含一个小的代码库,几乎没有复杂的功能,这减少了内存损坏漏洞的机会。
然而,该团队发现了一些可利用的服务器端缺陷,包括TurboVNC服务器中的堆栈缓冲区溢出缺陷,这使得在服务器上执行远程代码成为可能。
但是,利用这个缺陷需要身份验证凭据连接到VNC服务器或在建立连接之前控制客户机。
因此,为了防止利用服务器端漏洞进行的攻击,建议客户端不要连接到不受信任或未经测试的VNC服务器,并要求管理员使用惟一的强密码保护其VNC服务器。
卡巴斯基向受影响的开发人员报告了这些漏洞,除了TightVNC 1之外,所有这些开发人员都为他们支持的产品发布了补丁。它的创建者不再支持它。因此,建议用户切换到版本2.x。
声明:我们尊重原创者版权,除确实无法确认作者外,均会注明作者和来源。转载文章仅供个人学习研究,同时向原创作者表示感谢,若涉及版权问题,请及时联系小编删除!