nginx 安全漏洞 (CVE-2013-4547)

Nginx

这是来自 Nginx 邮件列表的内容

Nginx 的安全限制可能会被某些请求给忽略,(CVE-2013-4547).

当我们通过例如下列方式进行 URL 访问限制的时候,如果攻击者使用一些没经过转义的空格字符(无效的 HTTP 协议,但从 Nginx 0.8.41 开始因为考虑兼容性的问题予以支持)那么这个限制可能无效:

location /protected/ {
        deny all;
    }

当请求的是 "/foo /../protected/file" 这样的 URL (静态文件,但 foo 后面有一个空格结尾) 或者是如下的配置:

location ~ \.php$ {
        fastcgi_pass ...
    }

当我们请求 "/file \0.php" 时就会绕过限制。

该问题影响 nginx 0.8.41 - 1.5.6.

该问题已经在 Nginx 1.5.7 和 1.4.4 版本中修复。

补丁程序在:

http://nginx.org/download/patch.2013.space.txt

配置上临时的解决办法是:

if ($request_uri ~ " ") {
        return 444;
    }

还没有评论,快来抢沙发!

发表评论

  • 😉
  • 😐
  • 😡
  • 😈
  • 🙂
  • 😯
  • 🙁
  • 🙄
  • 😛
  • 😳
  • 😮
  • emoji-mrgree
  • 😆
  • 💡
  • 😀
  • 👿
  • 😥
  • 😎
  • ➡
  • 😕
  • ❓
  • ❗
  • 70 queries in 0.609 seconds