新 ParseThru 走私漏洞影响基于 Golang 的应用程序
Hackernews 编译,转载请注明出处: 安全研究人员发现了一个名为ParseThru的新漏洞,该漏洞会影响基于Golang的应用程序,这些应用程序可能会被滥用以未经授权访问基于云的应用程序。 以色列网络安全公司Oxeye在与The Hacker News分享的一份报告中表示:“由于使用了该语言内置的不安全URL解析方法,新发现的漏洞允许黑客在某些情况下绕过验证。” 这个问题的核心在于,与引入Golang的URL解析逻辑(在“net/url”库中实现)的更改导致的不一致有关。 虽然1.17之前的编程语言版本将分号视为有效的查询分隔符(例如,example.com?a=1;b=2&c=3),但此行为已被修改为在找到包含分号的查询字符串时引发错误。 现在,带有非百分比编码分号的设置将被拒绝,在请求URL中遇到警告时,net/http服务器将向‘Server.ErrorLog’记录警告。 当构建在版本1.17或更高版本上的基于Golang的公共API与运行早期版本的后端服务进行通信时,就会出现问题,从而导致黑客可以走私包含查询参数的请求,否则这些请求将被拒绝。 简而言之,这个想法是发送在查询字符串中包含分号的特制请求,面向Golang API的用户会忽略该请求,但内部服务会处理它。 Oxeye表示,它在Harbor、Traefik和Skipper等开源项目中发现了几个ParseThru实例,这使得绕过现有的验证并执行未经授权的操作成为可能。在向各供应商披露后,这些问题已得到解决。 这不是URL解析第一次引起安全问题。今年1月初,Claroty和Snyk披露了用C、JavaScript、PHP、Python和Ruby语言编写的第三方库中多达八个漏洞,这些漏洞源于URL解析中的混乱。 消息来源:TheHackerNews,译者:Shirley; 本文由 HackerNews.cc 翻译整理,封面来源于网络; 转载请注明“转自 HackerNews.cc ” 并附上原文