博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
nginx补丁格式说明(CVE-2016-4450为例)
阅读量:6863 次
发布时间:2019-06-26

本文共 985 字,大约阅读时间需要 3 分钟。

nginx安全公告地址:

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文件中@@ -183,6 +183,12 @@ 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;

 

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

修复后代码如下:

 

转载地址:http://spqyl.baihongyu.com/

你可能感兴趣的文章
So what, So TM what?
查看>>
【原创】MySQL 5.5 PROXY USER 伪装用户
查看>>
【SeaJS】【3】seajs.data相关的源码阅读
查看>>
[PHP] 访问MySQL
查看>>
linux下redmine3.3迁移、升级、插件备忘录
查看>>
Hadoop原理及部署初探
查看>>
Oracle 11g R2 常见问题处理
查看>>
windows下expdp自动备份脚本
查看>>
祭奠IT男孩大学的生活
查看>>
DOS网络命令全集
查看>>
WPF-009:WPF窗体的拖动
查看>>
MDT2012部署系列之10 Win7镜像捕获与系统安装
查看>>
Windows 2003 AD升级至Windows 2012 AD之DHCP服务器迁移
查看>>
MapReduce原理与设计思想
查看>>
Docker 镜像小结---操作指令介绍(七)
查看>>
实现机选双色球
查看>>
Powershell RESTAPI 访问Office365
查看>>
Q+会带来什么样的互联网时代?
查看>>
IPSec ***和SSL ***两种***的安全风险比较
查看>>
企业级数据中心之存储虚拟化
查看>>