崩溃现场
i93定时器仍存在于定时器链表中,t3t被激活后里面的数据被t3t定时器破坏 。当t3t定时器也被插入链表头部时会产生段错误 。
崩溃现场:
对应的源代码是while一行,
/* Find the entry that the new one needs to be inserted in front of */p_temp = p_timer_listq->p_first;=>>while (p_tle->ticks > p_temp->ticks) {/* Update the tick value if looking at an unexpired entry */if (p_temp->ticks > 0) p_tle->ticks -= p_temp->ticks;p_temp = p_temp->p_next;}
下面这个调用栈并非poc的而是漏洞被发现时的,放在这仅供参考 。
(rr) bt#00x000000000075b6fd in GKI_add_to_timer_list (p_timer_listq=
漏洞缓解措施
只要在切换到下一个tag之前,将上一个tag的定时器关闭即可 。
tNFC_STATUS RW_SetActivatedTagType(tNFC_ACTIVATE_DEVT* p_activate_params,tRW_CBACK* p_cback) {tNFC_STATUS status = NFC_STATUS_FAILED;/* check for null cback here / remove checks from rw_t?t */DLOG_IF(INFO, nfc_debug_enabled) << StringPrintf("RW_SetActivatedTagType protocol:%d, technology:%d, SAK:%d",p_activate_params->protocol, p_activate_params->rf_tech_param.mode,p_activate_params->rf_tech_param.param.pa.sel_rsp);if (p_cback == nullptr) {LOG(ERROR) << StringPrintf("RW_SetActivatedTagType called with NULL callback");return (NFC_STATUS_FAILED);}switch (rw_cb.tcb_type) {case RW_CB_TYPE_T1T: {nfc_stop_quick_timer(&rw_cb.tcb.t1t.timer);break;}case RW_CB_TYPE_T2T: {nfc_stop_quick_timer(&rw_cb.tcb.t2t.t2_timer);break;}case RW_CB_TYPE_T3T: {nfc_stop_quick_timer(&rw_cb.tcb.t3t.timer);nfc_stop_quick_timer(&rw_cb.tcb.t3t.poll_timer);break;}case RW_CB_TYPE_T4T: {nfc_stop_quick_timer(&rw_cb.tcb.t4t.timer);break;}case RW_CB_TYPE_T5T: {nfc_stop_quick_timer(&rw_cb.tcb.i93.timer);break;}case RW_CB_TYPE_MIFARE: {nfc_stop_quick_timer(&rw_cb.tcb.mfc.timer);nfc_stop_quick_timer(&rw_cb.tcb.mfc.mfc_timer);break;}case RW_CB_TYPE_UNKNOWN: {break;}}/* Reset tag-specific area of control block */memset(&rw_cb.tcb, 0, sizeof(tRW_TCB));```
- 悲催的宋仁宗:挨了皇后的打后竟然向宰相去告状
- 世界上最惨烈的水库溃坝悲剧,河南“75-8”洪灾,究竟有多恐 世界之最不少于75字
- A股历史上十大牛股竟有6成都来自这个板块 中国股市历年十大牛股
- 这么多世界之最竟然都在山西,少看一个都很遗憾!#山西dou知道 历史十个世界之最
- 拜登罕见说实话,承认美国基建不如中国,中国基建究竟有多强? 中国基建处于世界之最吗
- 奇闻:刘备拿下蜀川后第一件事竟是娶个寡妇回家
- 悲情太子:竟然被亲生母亲用卑劣手段废除
- 大将*年羹尧极致荣宠竟仍逃不过命丧黄泉
- 历史上汉代皇帝竟都是*:汉哀帝竟独宠董贤
- 慈禧缘不做汽车的原因竟是不想司机坐她前面!