Github 警告关于 Omniauth gem 的安全问题
Posted
技术标签:
【中文标题】Github 警告关于 Omniauth gem 的安全问题【英文标题】:Github warns security problem about Omniauth gem 【发布时间】:2019-11-04 20:10:09 【问题描述】:我正在使用 gem omniauth
,当我将代码推送到 Github 时,由于 gem,它向我显示了一个安全警告。
CVE-2015-9284
high severity
Vulnerable versions: <= 1.9.0
Patched version: No fix
The request phase of the OmniAuth Ruby gem is vulnerable to Cross-Site Request Forgery when used as part of the Ruby on Rails framework, allowing accounts to be connected without user intent, user interaction, or feedback to the user. This permits a secondary account to be able to sign into the web application as the primary account.
但是,我似乎使用的是latest version
有什么可能的解决方法,还是我现在应该跳过这个?
【问题讨论】:
请不要包含明文截图。将文本复制并粘贴到您的帖子中,以使您的帖子可搜索并且对可能无法加载图片的用户可见。 【参考方案1】:这已在omniauth/omniauth issue 960 中报告并在PR 809 "Protect request phase against CSRF when Rails is used. " 中讨论
It includes:
所以我们已经实现了
omniauth-rails_csrf_protection
solution,但之前我们让我们的第 3 方 OAuth 提供商在他们验证注册后登录,并将他们重定向到我们的/auth/provider
端点。 这现在需要他们使用 CSRF 令牌发布到端点,这是不可能的,因为他们在单独的平台/系统上。是否应该更新omniauth 自述文件以提及任何使用带有rails 的omniauth 的人也应该使用
omniauth-rails_csrf_protection
?
请参阅 commit 0264706 作为使用该设置的示例。
gem "omniauth-rails_csrf_protection"
或者...coreinfrastructure/best-practices-badge PR 1298
我讨厌引入第三方 shim 来修复安全问题,但上游的omniauth仍然没有修复它的漏洞,这是 4 年前(2015 年)的 CVE 报告。
omniauth 的人还在讨论如何修复它,我的耐心已经耗尽。
我查看了 shim 代码,没有发现任何问题。这是一个允许帐户接管的漏洞,因此我认为忽略它是非常不明智的。这不是微不足道的,但它是真实的。
【讨论】:
我安装了 gem "omniauth-rails_csrf_protection" 并将代码推送到存储库,但问题仍然存在。我的存储库是:github.com/mhamzajutt96/sportscenter/network/alerts @MuhammadHamza 奇怪。也许您可以在我在回答开头提到的一个问题中报告它。 但是issue已经打开了,再打开有什么区别 @MuhammadHamza 不要再次打开它,而是添加,作为评论,您的问题的证词(详细信息,版本,操作系统,...)表示问题尚未解决。以上是关于Github 警告关于 Omniauth gem 的安全问题的主要内容,如果未能解决你的问题,请参考以下文章
使用omniauth-twitter / twitter Gem读取Twitter REST API的x-access-Level标头
使用 Steam OmniAuth gem 连接 Steam 的 OpenId 会出现“invalid_credentials”错误
ruby 最简单的OmniAuth开发人员策略实现(OmniAuth :: Strategies :: Developer)。 http://www.rubydoc.info/github/intri