linux ip协议栈 漏洞,【漏洞预警】雪藏11年:Linux kernel DCCP double-free 权限提升漏洞(CVE-2017-6074)...
漏洞描述
漏洞编号:CVE-2017-6074
漏洞发现者:Andrey Konovalov
漏洞危害:通过非特权进程获得内核代码执行进而提升权限
影响范围:Linux内核版本>2.6.18(2006年9月)。但DCCP(数据报拥塞控制协议)最早是在05年10月的Linux内核版本2.6.14中支持的。目前该漏洞与2017年2月17修复。详情请参看
漏洞细节
数据报拥塞控制协议(DCCP)是一个针对传输层中UDP的新传输的协议而发展出来,用来传输实时业务。他是一个可以进行拥塞控制的非可靠传输协议,并同时提供多种拥塞控制机制,在通信开始时由用户进行协商选择。
更多详细的介绍说明:
这个漏洞需要内核编译的时候开启CONFIG_IP_DCCP ,许多linux发行版本默认开启。
在当前DCCP实现中,如果dccp_rcv_state_process中的dccp_v6_conn_request返回“成功” ,dccp_type 为DCCP_PKT_REQUEST的packet的skb会被__kfree_skb强制释放。
但是,如果在socket上设置IPV6_RECVPKTINFO,则skb地址会被保存在ireq-> pktopts,然后dccp_v6_conn_request中会增加skb的引用计数,所以skb仍在使用中。然而,它仍然会在dccp_rcv_state_process中被释放。
修复的方式是调用consume_skb,它占用skb->users,而不是跳转到discard 然后调用__kfree_skb。
diff –git a/net/dccp/input.c b/net/dccp/input.c
index ba34718..8fedc2d 100644
— a/net/dccp/input.c
+++ b/net/dccp/input.c
int dccp_rcv_state_process(struct sock *sk, struct sk_buff *skb,
struct dccp_hdr *dh, unsigned int len)
{
struct dccp_sock *dp = dccp_sk(sk);
struct dccp_skb_cb *dcb = DCCP_SKB_CB(skb);
const int old_state = sk->sk_state;
int queued = 0;
if (sk->sk_state == DCCP_LISTEN) {
if (dh->dccph_type == DCCP_PKT_REQUEST) {
if (inet_csk(sk)->icsk_af_ops->conn_request(sk,
skb)
return 1;
-goto discard;
+consume_skb(skb);
+return 0;
}
if (dh->dccph_type == DCCP_PKT_RESET)
goto discard;
/* Caller (dccp_v4_do_rcv) will send Reset */
dcb->dccpd_reset_code = DCCP_RESET_CODE_NO_CONNECTION;
return 1;
} else if (sk->sk_state == DCCP_CLOSED) {
dcb->dccpd_reset_code = DCCP_RESET_CODE_NO_CONNECTION;
return 1;
}
要利用这个 double-free,可以把它转变成一个 use-after-free:
//第一次释放
kfree(dccp_skb)
//在与dccp_skb相同的位置分配的另一个对象:
some_object = kmalloc()
//第二次释放,实际释放的是some_object对象
kfree(dccp_skb)
此时some_object持有一个悬空指针,如此就构造出了一个UAF。攻击者可以控制对象,同时可以通过使用内核堆喷射技术写入任意数据到被覆盖对象。
如果被覆盖的对象有任何可触发的函数指针,攻击者可以在内核中执行任意代码。
Linux各发行版本对于该漏洞相关信息
PoC
修复建议
建议用户通过系统更新到最新发行版修复此漏洞
参考
linux ip协议栈 漏洞,【漏洞预警】雪藏11年:Linux kernel DCCP double-free 权限提升漏洞(CVE-2017-6074)...相关推荐
- Linux Kernel ‘CLONE_NEWUSER|CLONE_FS’本地权限提升漏洞
漏洞名称: Linux Kernel 'CLONE_NEWUSER|CLONE_FS'本地权限提升漏洞 CNNVD编号: CNNVD-201303-281 发布时间: 2013-03-15 更新时间: ...
- linux 修改驱动权限,Linux Kernel 'MSR' 驱动程序本地权限提升漏洞
发布日期:2013-02-07 更新日期:2013-03-05 受影响系统: Linux kernel 2.6.x 描述: -------------------------------------- ...
- CVE-2021-33909:Linux本地权限提升漏洞
Linux本地权限提升漏洞影响大多数Linux发行版. 漏洞概述 Qualys研究人员在Linux kernel中发现一个本地权限提升漏洞--Sequoia,该漏洞是Linux kernel文件系统层 ...
- 游戏安全资讯精选 2017年第十六期:房卡式棋牌游戏涉赌博风波,抓娃娃火爆市场背后的安全隐患需警惕,Linux内核的Huge Dirty Cow权限提升漏洞...
[每周游戏行业DDoS态势] [游戏行业安全动态]房卡式棋牌游戏涉赌博风波 概要:近日隔壁棋牌游戏公司先后因涉赌被处理的消息,引发业内广泛关注.多名业内人士认为,出现这种事,并不应该由房卡模式来&qu ...
- linux ssh权限漏洞,OpenSSH do_setup_env函数权限提升漏洞(CVE-2015-8325)
OpenSSH do_setup_env函数权限提升漏洞(CVE-2015-8325) 发布日期:2016-05-02 更新日期:2016-05-04 受影响系统:OpenSSH OpenSSH &l ...
- Linux Polkit 中的pkexec 组件存在的本地权限提升漏洞(CVE-2021-4034)修复方法及centos6和centos7的安装包
近日安全监测发现Linux Polkit 中的pkexec 组件存在的本地权限提升漏洞(CVE-2021-4034),pkexec应用程序为 Linux 系统预装工具,漏洞影响Ubuntu.Debia ...
- Linux Polkit本地权限提升漏洞(CVE-2021-4034)
漏洞描述 Polkit是用于在Linux操作系统中控制系统范围特权的组件.它为非特权进程提供了与特权进程进行通信的有组织的方式.类似"sudo"的用法. CVE-2021-4034 ...
- CVE-2020-8835: Linux Kernel 信息泄漏/权限提升漏洞分析
CVE-2020-8835: Linux Kernel 信息泄漏/权限提升漏洞分析 360-CERT [360CERT](javascript:void(0)
- linux系统中acpid的作用,ACPID电源按钮事件本地权限提升漏洞
发布日期:2011-12-08 更新日期:2012-08-21 受影响系统: acpid acpid 2.0.10 acpid acpid 1.0.8 acpid acpid 1.0.3 acpid ...
- CVE-2020-1472 Netlogon权限提升漏洞分析
一.漏洞信息 1. 漏洞简述 漏洞名称:Netlogon 权限提升漏洞 漏洞编号:CVE-2020-1472 漏洞类型:权限提升 CVSS评分:10 利用难度:简单 基础用户:不需要 2. 组件概述 ...
最新文章
- m 文件 dll matlab 中调用_如何在matlab中调用python程序
- python-opencv图像处理之SIFT尺度不变特征变换
- console.log()不显示结果_提醒低端电子显示屏易致视疲劳,OLED屏幕表现略好
- Mybatis核心配置文件SqlMapConfig.xml
- 查看S/N提示'wmic' 不是内部或外部命令,也不是可运行的程序 或批处理文件。的解决办法(不添加环境变量版
- 2020 年度 OSC 中国开源项目评选结果公布
- mysql索引和事务_mysql的索引和事务详细解读
- 大学mysql期末试题_大学期末考试综合实训试题一
- 阿里 Java 性能调优手册,简直yyds
- 夜神模拟器7.12 安装 xposed
- java 修改表格颜色代码_workBook设置单元格颜色方法
- 图解强化学习 原理 超详解 (一)
- Android 按钮实现按压水波纹效果
- 【mcuclub】模数转换ADC0832
- 图解Janusgraph系列-查询图数据过程源码分析
- C# dgv自动排序后,各种样式设定无效的解决办法
- WPF中给文本框TextBox设置提示文字
- 2022-01-10:路径交叉。给你一个整数数组 distance 。 从 X-Y 平面上的点 (0,0) 开始,先向北移动 distance[0] 米,然后向西移动 distance[1] 米,向南
- 阿朱推荐的产品经理读物30本书(修订版)
- 【MySQL】6.0 表的增删查改
热门文章
- 谁说国产编译器没救了?这个 C/C++ 和 JavaScript 编译器来了 | 程序人生 2020
- 疫情期间不忽略障碍群体刚需、仍坚持做无障碍的倡议书
- 网易易盾升级内容安全体系 发布智能审核管理系统
- 微信引擎插件会对小游戏带来怎样的利好?(深度解读)
- 国际认可不断增加,国产数据库发展与应用前景如何?
- 绿洲因涉嫌抄袭下架;Facebook 泄露 4.19 亿条用户数据;Go 1.13 发布 | 极客头条...
- 华为可折叠手机推迟发布;苹果获新专利可隔空操控iPhone;微软不放弃 IE | 极客头条...
- 人工智能是 6G 诞生的关键!| 极客头条
- 华为获 25 份 5G 合同;ofo 退款用户数超千万;贾跃亭躲豪宅拒收法律文书 | 极客头条...
- 技术人不会学习,35 岁必然要焦虑!