北京時(shí)間11月20日,Nginx官方更新郵件列表,對(duì)外通報(bào)Nginx 0.8.41 - 1.5.6 版本存在兩類高危漏洞,經(jīng)過百度加速樂安全研究團(tuán)隊(duì)確認(rèn),漏洞確實(shí)存在。使用受影響版本Nginx的網(wǎng)站主要面臨以下風(fēng)險(xiǎn):
(1)通過Nginx規(guī)則限制后臺(tái)地址訪問IP、數(shù)據(jù)庫等敏感地址訪問的網(wǎng)站如果使用受影響版本,可能會(huì)造成限制失效。
(2)網(wǎng)站存在上傳功能,攻擊者可以上傳存在惡意代碼的圖片、txt、html文件即可向網(wǎng)站植入后門。
針對(duì)這一情況,加速樂已率先更新安全規(guī)則,可以完全防御針對(duì)本次漏洞的攻擊。
以下是Nginx官方郵件中文翻譯信息:
Nginx 的安全限制可能會(huì)被某些請(qǐng)求給忽略,(CVE-2013-4547).
當(dāng)我們通過例如下列方式進(jìn)行 URL 訪問限制的時(shí)候,如果攻擊者使用一些沒經(jīng)過轉(zhuǎn)義的空格字符(無效的 HTTP 協(xié)議,但從 Nginx 0.8.41 開始因?yàn)榭紤]兼容性的問題予以支持)那么這個(gè)限制可能無效:
location /protected/ {
deny all;
}
當(dāng)請(qǐng)求的是 "/foo /../protected/file" 這樣的 URL (靜態(tài)文件,但 foo 后面有一個(gè)空格結(jié)尾) 或者是如下的配置:
location ~ \.php$ {
fastcgi_pass ...
}
當(dāng)我們請(qǐng)求 "/file \0.php" 時(shí)就會(huì)繞過限制。
該問題影響 nginx 0.8.41 - 1.5.6.
該問題已經(jīng)在 Nginx 1.5.7 和 1.4.4 版本中修復(fù)。
補(bǔ)丁程序在:
http://nginx.org/download/patch.2013.space.txt
配置上臨時(shí)的解決辦法是:
if ($request_uri ~ " ") {
return 444;
}