nginx安全公告地址:http://nginx.org/en/security_advisories.html

CVE-2016-4450:一个特定构造的数据包,可引发nginx引用空指针,导致nginx出错造成拒绝服务攻击。

说明:

查阅代码发现nginx应该是将补丁集成到开发版(Mainline)和稳定版(Stable)中,而历史版本(legacy)并不会将补丁打上;

也就意味着更新到当前提供下的的开发版和稳定版漏洞就修复了(比如这个CVE-2016-4450),而历史版本是不会修复漏洞的原来有漏洞的依然有漏洞即便当前提供下载。

CVE-2016-4450针对1.3.9-1.9.12版本的补丁如下(//是我加的说明):

--- src/os/unix/ngx_files.c                //表示问题产生在src/os/unix/ngx_files.c文件中,该行不要加到ngx_files.c文件
+++ src/os/unix/ngx_files.c                //表示问题要在src/os/unix/ngx_files.c文件中修改以修复,该行不要加到ngx_files.c文件中
@@ -, +, @@ ngx_write_chain_to_file(ngx_file_t *file  //-182,6表示修复前该处代码的位置为183行的后6行,+183,12表示修复后该处代码占183行的后12行
/* create the iovec and coalesce the neighbouring bufs */ while (cl && vec.nelts < IOV_MAX) {
+
+ if (ngx_buf_special(cl->buf)) {      //+号表示该行代码原来没有,要新加进去;修复时+号不要加到代码中
+ cl = cl->next;
+ continue;
+ }
+
if (prev == cl->buf->pos) {
iov->iov_len += cl->buf->last - cl->buf->pos;

作为对比原来该处代码如下:

修复后代码如下:

nginx补丁格式说明(CVE-2016-4450为例)的更多相关文章

  1. ELK 之三:Kibana 使用与Tomcat、Nginx 日志格式处理

    一:kibana安装: kibana主要是搜索elasticsearch的数据,并进行数据可视化的展现,新版使用nodejs. 1.下载地址: https://www.elastic.co/downl ...

  2. 运维技巧-Nginx日志格式

    1.说一说 当你安装完nginx,输出的格式是比较乱的,这样我们就需要自己去定义一下,自己看着舒服的格式. 2.Nginx日志字段 $remote_addr 记录客户端IP,但她的值不是客户端提供的, ...

  3. Nginx 日志格式配置介绍

    Nginx日志格式配置介绍   by:授客  QQ:1033553122   测试环境 CentOS 6.5-x86_64 nginx-1.10.0 配置例子 log_format  main  '$ ...

  4. diff补丁格式

    title: diff补丁格式 tags: 学习 categories: 学习 date: 2018-09-20 21:03:53 --- diff补丁格式 在Uboot学习中,接触到了打补丁这个操作 ...

  5. Nginx - 日志格式及输出

    1. 前言 在 Nginx 服务器中,如果想对日志输出进行控制还是很容易的.Nginx 服务器提供了一个 HttpLogModule 模块,可以通过它来设置日志的输出格式. 2. HttpLogMod ...

  6. Nginx日志格式以及相关配置

    一.Nginx日志格式以及参数说明log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ' ...

  7. nginx json 格式输出

    log_format logstash_json '{ "@timestamp": "$time_local", '                       ...

  8. nginx日志格式

    日志格式 log_format main '$remote_addr - $remote_user [$time_local] $request '                    '" ...

  9. nginx 日志格式

    log_format main '$http_host $server_addr $remote_addr [$time_local] "$request" ' '$request ...

随机推荐

  1. markdown一些网站

    1.https://stackedit.io/editor 2.https://github.com/bioinformatist/LncPipeReporter 3.

  2. hdu 5795 A Simple Nim 博弈sg函数

    A Simple Nim Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Pro ...

  3. 使用fiddler轻轻松松制造客户端接口time out的情况

    1.打开fiddler,过滤出你想要的请求 2.复制出你想要中断的请求 3.设置中断这个请求,bpu+请求,回车(详情请百度fiddle默认命令) 4.ctrl+x(清楚所有的请求),刷新页面,重新获 ...

  4. Teams UVA - 11609

    题意就不多说了这个小规律不算难,比较容易发现,就是让你求一个数n*2^(n-1):很好想只是代码实现起来还是有点小困(简)难(单)滴啦,一个快速幂就OK了: 代码: #include<stdio ...

  5. requests:json请求中中文乱码处理

    requests库中,在处理json格式的请求时调用的json.dumps方法参数ensure_ascii默认为True.表示序列化时对中文默认使用的ascii编码.如果想要显示中文,则将此参数的值改 ...

  6. leecode第一百四十二题(环形链表II)

    /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode ...

  7. 分割窗口QSplitter类

    概述 分割窗口QSplitter类在应用程序中经常用到,它可以灵活分割窗口的布局,经常用在类似文件资源管理器的窗口设计中 在Qt开发中,QSplitter是比较常用到的,也就是分割窗口.并且窗口分割处 ...

  8. 日志log4cxx 封装、实例讲解、配置文件log4cxx.properties

    日志log4cxx 封装.实例讲解.配置文件log4cxx.properties 1. 日志作用 程序运行过程中,需要记录程序中的运行状况,方便排查问题,记录数据.可以根据日志的记录快速定位错误发生的 ...

  9. Codeforces 101572 D - Distinctive Character

    D - Distinctive Character 思路:bfs 使最大的匹配数最小,转换一下,就是使最小的不匹配数最大,用bfs找最大的距离 代码: #pragma GCC optimize(2) ...

  10. hibernate例子

    首先下载好hibernate包 如果运行之后出现数据库连接错误  则重新把jar包位置放在web-inf的lib下面再addbulidpath 第一步:创建实体类 Hibernate要求实体类必须提供 ...