港口,Traefik和Skipper项目处理不安全的URL解析方法

在多个GO应用程序中发现的HTTP参数走私漏洞

已经发现了一个新的漏洞,可以允许攻击者获得未经授权的访问权限- 基于golang的应用。

使用不安全的URL解析方法内置在开源云本地语言中将允许威胁参与者在某些条件下绕过验证,根据Oxeye的研究人员的说法

Oxeye Research的负责人Daniel Abeles告诉Oxeye,“ Parsethru是一项参数走私攻击,这意味着在某些条件下,它可以根据使用不安全的URL解析,使威胁参与者绕过基于HTTP请求参数的旁路验证。”每日swbeplay2018官网ig

“从阅读敏感数据和渗透秘密到代表其他用户执行操作等等,成功的妥协可以为潜在的威胁参与者带来各种结果。”

走私半龙

Golang - 或Go - 使用“ Net/URL”库来解析URL,在版本1.17之前,将在URL查询部分中将半隆作为有效的分界符。但是,使用版本1.17,半洛龙被视为错误,并且负责获得解析的查询字符串的方法之一忽略了返回的错误。

这意味着,当基于GO的公共API以1.17版本或更高版本的方式与运行先验版本的内部服务进行通信时,可以通过查询字符串中包含分号的专门设计的请求进行走私。


赶上最新的开源软件安全新闻


Oxeye研究人员在几个开源项目中发现了许多实例,他们成功利用了这些实例。其中包括CNCF研究的项目Harbor,这是一个开源注册表,可确保具有政策和基于角色的人工制品访问控制。在这里,“经过身份验证的用户(即使拥有最低的权限级别)也可以发出特殊的请求,以读取他们无法访问的限制项目的图像层”。

其他示例包括Traefik,现代的HTTP反向代理和负载平衡器,旨在简化微服务部署,以及Skipper(HTTP路由器和用于服务组成的反向代理)Skipper。

而且,Abeles说,其他编程语言可能会遇到类似问题。

他说:“由于Parsethru是一个脆弱性,主要是基于不安全的URL解析方法的使用,因此它并不能直接反映出Golang所特有的任何挑战,而是大多数编程语言共享的挑战。”

“每种语言都有自己的URL解析实施。但是,它们彼此不同,导致解析差距最终导致这种脆弱性。”

奥克西(Oxeye)表示,它向受影响项目的维护者透露了其发现,并帮助他们纠正了安全缺陷。

Oxeye的首席技术官兼联合创始人Ron Vider说:“我们现在建议使用基于Golang的应用程序进行审查,以确保应用适当的补丁和/或补救措施。”


你可能还喜欢Jenkins安全:最新插件咨询中包含的未拨打的XSS,CSRF错误