我正在使用brakeman(3.5.1(来扫描我的轨道代码(4.2.1(。事情似乎很好。但它给出了一个问题如下:
通过 MIME 类型缓存拒绝服务。请升级到 Rails 4.2.5。
现在我明白了什么是拒绝服务和 mime 类型在 http 请求的接受标头中。但是 mime 类型缓存如何导致拒绝服务。
有人可以解释一下这是如何造成的。
谢谢
完整的消息是:Rails 4.2.1 is vulnerable to denial of service via mime type caching (CVE-2016-0751). Upgrade to Rails version 4.2.5
.
使用HTML报告并单击了"拒绝服务",或者使用了JSON输出并点击了提供的链接,您将找到CVE-2016-0751的Rails安全公告,其中指出:
操作包中可能的对象泄漏和拒绝服务攻击
可能存在可能导致拒绝服务的对象泄漏 操作包中的漏洞。此漏洞已分配 CVE 标识符 CVE-2016-0751。
受影响的版本:全部。
不受影响:无。
固定版本: 5.0.0.beta1.1, 4.2.5.1, 4.1.14.1, 3.2.22.1
冲击
精心设计的接受标头可能会导致 MIME 类型的全局缓存无限增长,这可能导致拒绝 操作包中的服务攻击。
运行受影响版本的所有用户都应升级或使用一个 立即的解决方法。
收到 HTTP 请求时,它可以将 Accept
标头用于它期望接收的特定 MIME 类型。这些缓存在 Rails 中。攻击者可以发送许多不同的 MIME 类型(它们不一定是真实的(,并导致缓存变大并使用所有可用的 RAM,从而使服务器崩溃。这被归类为拒绝服务攻击。
换句话说,它是Rails核心部分的安全漏洞。要解决此问题,请升级。