自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

instagram_RCE:instagram APP遠(yuǎn)程代碼漏洞

安全 漏洞
instagram APP安卓和iOS 版本被曝安全漏洞,攻擊者利用該漏洞可以使APP奔潰,甚至被用來(lái)監(jiān)聽(tīng)用戶。

[[344527]]

研究人員在Facebook instagram 安卓和iOS 版本APP 中發(fā)現(xiàn)了一個(gè)高危漏洞,攻擊者利用該漏洞可以拒絕用戶訪問(wèn)APP,完全控制用戶賬戶,甚至利用手機(jī)設(shè)備監(jiān)聽(tīng)用戶。

漏洞細(xì)節(jié)

該漏洞存在于instagram 處理圖像的方式中,從技術(shù)上將該漏洞是一個(gè)堆溢出漏洞(CVE-2020-1895),當(dāng)instagram 嘗試發(fā)送大一點(diǎn)的文件時(shí)會(huì)觸發(fā)該漏洞。攻擊者只需通過(guò)常見(jiàn)的消息平臺(tái)或郵件向攻擊目標(biāo)發(fā)送精心偽造的圖片就可以觸發(fā)該漏洞。

有漏洞的函數(shù)為read_jpg_copy_loop,會(huì)在解壓縮過(guò)程中引發(fā)整數(shù)溢出。

Read_jpg_copy_loop代碼段

在處理JPEG 圖像文件時(shí),有漏洞的函數(shù)會(huì)處理圖像尺寸。下面是有漏洞的代碼的偽代碼:

  1. width = rect->right - rect->bottom; 
  2. height = rect->top - rect->left
  3. allocated_address = __wrap_malloc(width*height*cinfo->output_components);// output_scanline; 
  4.    if ( (unsigned int)output_scanline >= cinfo->output_height ) 
  5.       break; 
  6.     //reads one line from the file into the cinfo buffer 
  7.     jpeg_read_scanlines(cinfo, line_buffer, 1); 
  8.     if ( output_scanline >= Rect->left && output_scanline < Rect->top ) 
  9.     { 
  10.         memcpy(allocated_address + bytes_copied , line_buffer, width*output_component);// <--Oops 
  11.         bytes_copied += width * output_component; 
  12.     } 
  13.  } 

其中:

_wrap_malloc 函數(shù)會(huì)根據(jù)圖像尺寸的3個(gè)參數(shù)來(lái)分配內(nèi)存塊。Width和height 都是16位的整數(shù)(uint16_t)。

cinfo->output_component 告訴我們有多少個(gè)字節(jié)用來(lái)表示每個(gè)像素。變量的值分別代表不同的意思,1表示Greyscale、3表示RGB、4表示RGB + Alpha\CMYK等。

除了height和width外,output_component 也可以完全被攻擊者控制。因?yàn)樵诜治龅倪^(guò)程中并不會(huì)與文件中的其他數(shù)據(jù)進(jìn)行驗(yàn)證。

__warp_malloc 希望其參數(shù)在32位的寄存器中進(jìn)行處理。也就是說(shuō)如果分配的大小超過(guò) (2^32) 字節(jié),那么就可以引發(fā)整數(shù)溢出。

分配的大小是通過(guò)圖像的width乘 height再乘以 output_components 得到的。因?yàn)闆](méi)有檢查,那么一旦被攻擊者所控制,進(jìn)一步濫用后就會(huì)引發(fā)整數(shù)溢出。

  1. _wrap_malloc(width * height * cinfo->output_components);// <---- Integer overflow 

然后緩存被傳遞給memcpy,引發(fā)基于堆的緩存溢出。

分配后,memcpy 函數(shù)會(huì)被調(diào)用,然后復(fù)制圖像數(shù)據(jù)到分配的內(nèi)存中。

復(fù)制的過(guò)程是一行一行進(jìn)行的:

  1. memcpy(allocated_address + bytes_copied ,line_buffer, width*output_component);//<--Oops 

size (width*output_component)數(shù)據(jù)也會(huì)被復(fù)制 height 次。

為了引發(fā)內(nèi)存奔潰,還需要溢出決定分配大小的整數(shù),計(jì)算的結(jié)果必須要大于32 比特。當(dāng)復(fù)制的數(shù)據(jù)大于2^32 (4GB) 時(shí),如果循環(huán)到了一個(gè)無(wú)法映射的頁(yè)面,程序大概率會(huì)奔潰:

漏洞利用

從漏洞利用的角度來(lái)看,一個(gè)線性堆溢出漏洞使得攻擊者可以控制分配的大小、溢出的數(shù)、以及溢出內(nèi)存區(qū)域的內(nèi)容。

攻擊者利用該漏洞可以按照如下步驟:

  • · 通過(guò)郵件、WhatsApp、短信等方式發(fā)送惡意圖片給受害者;
  • · 如果用戶保存圖片,并打開(kāi)instagram APP,那么漏洞利用就開(kāi)始了,攻擊者就可以遠(yuǎn)程完全控制目標(biāo)手機(jī);
  • · 漏洞利用會(huì)使得受害者的instagram APP 持續(xù)奔潰,除非卸載后重新安裝。

補(bǔ)丁

Facebook 已于今年春季修復(fù)了該漏洞,F(xiàn)acebook稱沒(méi)有發(fā)現(xiàn)任何漏洞在野利用的跡象。

更多技術(shù)細(xì)節(jié)參見(jiàn):

https://research.checkpoint.com/2020/instagram_rce-code-execution-vulnerability-in-instagram-app-for-android-and-ios/

 

本文翻譯自:https://www.bleepingcomputer.com/news/security/instagram-bug-allowed-crashing-the-app-via-image-sent-to-device/如若轉(zhuǎn)載,請(qǐng)注明原文地址
【編輯推薦】

 

責(zé)任編輯:姜華 來(lái)源: 嘶吼網(wǎng)
相關(guān)推薦

2012-05-11 14:10:21

Instagram技術(shù)

2012-04-09 13:35:10

Instagram

2023-12-18 07:41:28

系統(tǒng)存儲(chǔ)userID

2012-05-01 20:52:40

2012-12-25 10:45:12

InstagramPokeFlickr

2015-12-21 13:39:47

2021-12-01 11:25:15

MSHTML微軟漏洞

2014-12-17 15:01:01

滾動(dòng)視圖Instagram源碼

2012-04-21 19:02:25

黑客Instagram

2024-12-12 17:23:09

服務(wù)中斷宕機(jī)

2012-04-18 15:30:49

Instagram草根開(kāi)發(fā)者

2012-05-09 14:57:38

夢(mèng)想InstagramOffer

2012-04-10 09:18:06

2014-01-02 10:08:35

PostgreSQL優(yōu)點(diǎn)

2022-03-14 12:27:47

Instagram互聯(lián)網(wǎng)

2018-10-29 09:00:00

Instagram基礎(chǔ)設(shè)施數(shù)據(jù)中心

2012-02-10 09:26:47

Instagram

2012-04-18 11:07:44

FacebookInstagram開(kāi)源

2011-02-21 14:29:10

2012-04-16 15:34:18

Instagram
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)