WhatsApp patches video call vulnerability that could potentially let hackers gain complete access

WhatsApp patches video call vulnerability that could potentially let hackers gain complete access


A memory corruption bug in WhatsApp that affected the app on both Android and iOS was patched recently.

WhatsApp patches video call vulnerability that could potentially...

Facebook can’t seem to catch a break from all the data leaks and it seems that WhatsApp also came close to being thrown under the bus. As per a ZDNet report, WhatsApp has fixed a serious vulnerability that was found by the end of August by Natalie Silvanovich, a security researcher with Google’s Project Zero security research team. Silvanovich describes the flaw as a “memory corruption bug in WhatsApp’s non-WebRTC video conferencing implementation,” which, as per the vulnerability researcher Tavis Ormandy from Google, translates to an exploit in the video calling features of the app that could potentially enable hackers to “complete compromise WhatsApp.”

As per Silvanovich’s bug report, both, the Android and iOS versions of the app were affected by the bug as they use Real-time Transport Protocol (RTP) for initiating a video call. The web version of the chat app is not affected as it uses WebRTC for the same. “Heap corruption can occur when the WhatsApp mobile application receives a malformed RTP packet,” states Silvanovich. “This issue can occur when a WhatsApp user accepts a call from a malicious peer.”  This issue was fixed on September 28 for Android and on October 3 for iPhone users.

“WhatsApp cares deeply about the security of our users. We routinely engage with security researchers from around the world to ensure WhatsApp remains safe and reliable. We promptly issued a fix to the latest version of WhatsApp to resolve this issue,” a WhatsApp spokesperson told ZDNet. As per the report, WhatsApp says that the vulnerability was never exploited to carry out an attack on any user but they are advised to update to the newer version, just to be safe.

Facebook-owned WhatsApp is considered to be safe till now as there have been no major data leaks or compromises, which we know of. On the other hand, Facebook recently announced that the account data of 50 million users was exposed as attackers used a “technical vulnerability” in the “View As” feature in their profiles. You can learn more about this Facebook episode here.

Digit NewsDeskDigit NewsDesk

The guy who answered the question ‘What are you doing?’ with ‘Nothing’.





‘).insertAfter(‘.inside-container p:eq(1)’); */
// $( “http://www.digit.in/” ).insertAfter(‘.inside-container p:eq(0)’);
//});#}
//method to trunkate the text
function shorten(text, maxLength) {
var ret = text;
if (ret.length > maxLength) {
ret = ret.substr(0,maxLength-3) + “…”;
}
return ret;
}

$(function(){
//function to put utm on DontMiss links
/*if(isDesktop()){
$(‘div.dontMiss > a’).each(function(){
$(this).prop(‘href’, $(this).prop(‘href’)+’?utm_source=within_article&utm_medium=desktop&utm_campaign=related’);
//trunkate dont miss content
var sub = shorten($(this).html(),47);
$(this).html(sub);
});
}else{
$(‘div.dontMiss > a’).each(function(){
$(this).prop(‘href’, $(this).prop(‘href’)+’?utm_source=within_article&utm_medium=mobile&utm_campaign=related’);
});
}*/

//disabled method to append dontmiss links to page content by Mayank
/*$(‘div.dontMiss > a’).each(function(index){
//loop over each list item

// if(index%2 > 0){
// index = index – 1;
// }
if($(‘.inside-container > p:eq(‘+index+’)’).length){
if(isDesktop()){
$(‘.inside-container > p:eq(‘+((index * 2) + 1)+’)’).append(‘

Related: ‘ + $(this).html() + ‘‘ );
}else{
$(‘.inside-container > p:eq(‘+((index * 2) + 1)+’)’).append(‘

Related: ‘ + $(this).html() + ‘‘ );
}
}
});*/
$(‘div.dontMissArea’).hide();

/* if(isDesktop()) {
$(‘div.dontMissArea’).hide();
}else{
$(‘div.dontMissArea’).show();
} */

/*
* ga event tracking on page scroll start and end by Mayank
*/

// Debug flag
var debugMode = false;

// Default time delay before checking location
var callBackTime = 100;

// # px before tracking a reader
var readerLocation = 150;

// Set some flags for tracking & execution
var timer = 0;
var scroller = false;
var endContent = false;
var didComplete = false;

// Set some time variables to calculate reading time
var startTime = new Date();
var beginning = startTime.getTime();
var totalTime = 0;

// Get some information about the current page
var pageTitle = document.title;

// Track the aticle load — disabled
if (!debugMode) {
// ga(‘send’, ‘event’, ‘Reading’, ‘ArticleLoaded’, pageTitle, {‘nonInteraction’: 1});
// console.log(“ga(‘send’, ‘event’, ‘Reading’, ‘ArticleLoaded’, pageTitle, {‘nonInteraction’: 1}”);
} else {
alert(‘The page has loaded. Woohoo.’);
}

// Check the location and track user
function trackLocation() {
bottom = $(window).height() + $(window).scrollTop();
height = $(document).height();

// If user starts to scroll send an event
if (bottom > readerLocation && !scroller) {
currentTime = new Date();
scrollStart = currentTime.getTime();
timeToScroll = Math.round((scrollStart – beginning) / 1000);
if (!debugMode) {
ga(‘send’, ‘event’, ‘Reading’, ‘StartReading’, pageTitle, timeToScroll, {‘metric1’ : timeToScroll});
} else {
alert(‘started reading ‘ + timeToScroll);
}
scroller = true;
}

// If user has hit the bottom of the content send an event
if (bottom >= $(‘.inside-container’).scrollTop() + $(‘.inside-container’).innerHeight() && !endContent) {
currentTime = new Date();
contentScrollEnd = currentTime.getTime();
timeToContentEnd = Math.round((contentScrollEnd – scrollStart) / 1000);
if (!debugMode) {
if (timeToContentEnd = height && !didComplete) {
currentTime = new Date();
end = currentTime.getTime();
totalTime = Math.round((end – scrollStart) / 1000);
if (!debugMode) {
ga(‘send’, ‘event’, ‘Reading’, ‘PageBottom’, pageTitle, totalTime, {‘metric3’ : totalTime});
} else {
alert(‘bottom of page ‘+totalTime);
}
didComplete = true;
}
}

// Track the scrolling and track location
$(window).scroll(function() {
if (timer) {
clearTimeout(timer);
}

// Use a buffer so we don’t call trackLocation too often.
timer = setTimeout(trackLocation, callBackTime);
});
});

‘).insertAfter(“.inside-container p:eq(2)”);
}

});

Related posts