|
漏洞描述: nginx容易引起缓冲区溢出漏洞,因为该应用程序没有对用户提交的数据进行边界检查,攻击者可以利用这个安全漏洞使得受影响的程序执行任意代码,如果代码执行失败,将导致拒绝服务。 利用代码: 暂未提供 影响版本: nginx 0.8.14 nginx 0.7.61 nginx 0.6.38 nginx 0.5.37 nginx 0 不受影响: nginx 0.8.15 nginx 0.7.62 nginx 0.6.39 nginx 0.5.38 解决方案: 方案一、升级到不受影响版本 方案二、修补漏洞,从新编译程序 Index: src/http/ngx_http_parse.c =================================================================== --- src/http/ngx_http_parse.c (revision 2410) +++ src/http/ngx_http_parse.c (revision 2411) @@ -1134,11 +1134,15 @@ #endif case '/': state = sw_slash; - u -= 4; - if (u < r->uri.data) { - return NGX_HTTP_PARSE_INVALID_REQUEST; - } - while (*(u - 1) != '/') { + u -= 5; + for ( ;; ) { + if (u < r->uri.data) { + return NGX_HTTP_PARSE_INVALID_REQUEST; + } + if (*u == '/') { + u++; + break; + } u--; } break;
|