Thursday, March 28, 2024

10 Yr-Old Facebook Bug Allow Hackers to Steal Access Token & Hijack Anyone’s Facebook Account – 55,000$ Bounty Rewarded

A researcher discovered a critical Account takeover vulnerability in Facebook’s Authorization feature “Login with Facebook” and, it allowed attackers to steal the Access_Token and completely take over the victim’s Facebook account.

Facebook using OAuth 2.0 as an Authorization protocol that helps to exchange the token from Facebook and other third party websites.

The vulnerability resides in the “Login with Facebook” feature that allowed attackers to set up a malicious website, and steak the Access token for several apps including Instagram, Oculus, Netflix, Tinder, Spotify, etc along with Facebook accounts.

Once the attacker compromised the targeted accounts using the stolen tokens, he/she could able to gain full read/write privileges such as messages, photos, videos even if privacy control is set to the “only me”.

Indian Security Researcher Amol Baikar who found this Vulnerability told GBHackers on Security ” This critical Facebook Vulnerability could allow to takeover accounts including Facebook, Instagram, Oculus and more Facebook services. at the same time attack can gain access to all third-party websites such as Netflix, Tinder, Spotify. (where Facebook login is implemented) “

The vulnerability was reported to Facebook last year December and Facebook issues a quick fix for this critical bug, also issued a reward of $55,000 under responsible disclosure bug bounty program.

This is highest bounty awarded for any client site account takes over a vulnerability that ever finds on Facebook.

Stealing The Access Token & Account Takeover

There are two different points that were importantly notified in this vulnerability flow.

  1. Missing the “X-Frame-Options” header. (completely framable flow)
  2. Additionally “window.parent” which itself saves the user interaction to zero. Wasn’t needed to bother with window.open or any button onClick event.

In results, following cross-domain communication were exposed and access_token could leak to any origin without victim knowledge and the entire account will be compromised.

var app_id = '124024574287414',
app_domain = 'www.instagram.com';

var exploit_url = 'https://www.facebook.com/connect/ping?client_id=' + app_id + '&redirect_uri=https%3A%2F%2Fstaticxx.facebook.com%2Fconnect%2Fxd_arbiter%2Fr%2F7SWBAvHenEn.js%3Fversion%3D44%23origin%3Dhttps%253A%252F%252F' + app_domain;

var i = document.createElement('iframe');
i.setAttribute('id', 'i');
i.setAttribute('style', 'display:none;');
i.setAttribute('src', exploit_url);
document.body.appendChild(i);

window.addEventListener('OAuth', function(FB) {
  alert(FB.data.name);
}, !1);

During the research, Amol observed that the vulnerability leaking the 1st party graphql tokens which help to query a mutation calls to add and confirm a new phone number for account recovery.

Facebook Vulnerability
Stealing Access token

“Since they are whitelisted for GraphQL queries and they don’t need to bother with any permission checks. They have full read/write privileges such as messages, photos, videos even if privacy control is set to the “only me”, ” Amol said.

GBHackers learned some important points that need to be noted in this Facebook vulnerability.

1. All Facebook apps and third-party apps access token could be a leak at the same time. (within Seconds).

2. Leakage of the first party token has full read/write/update/delete permission for the Facebook account. (the attacker can fo anything with Facebook accounts, including adding, phone email which can use later for forgot password) (also tokens can query to read each and each private msgs, photos, videos even if they are set to “only me” privacy control)”.

3. Due to an incorrect post message configuration, someone visiting an attacker-controlled website could have had their first party access tokens stolen for vulnerable apps using Facebook’s OAuth flow.

4.First party tokens are non-expirable. (never expires).

5. First party token remains valid even user changes there Facebook Account password. The attacker still has control over the user’s account. They can harvest the data even user changes his password.

Since the Vulnerability existing in the “Login with Facebook” feature for nearly 10 years, it’s unclear that the bug is exploited or not. So Facebook users are advised to change the password and make sure to log out in all the devices once.

Website

Latest articles

Wireshark 4.2.4 Released: What’s New!

Wireshark stands as the undisputed leader, offering unparalleled tools for troubleshooting, analysis, development, and...

Zoom Unveils AI-Powered All-In-One AI Work Workplace

Zoom has taken a monumental leap forward by introducing Zoom Workplace, an all-encompassing AI-powered...

iPhone Users Beware! Darcula Phishing Service Attacking Via iMessage

Phishing allows hackers to exploit human vulnerabilities and trick users into revealing sensitive information...

2 Chrome Zero-Days Exploited at Pwn2Own 2024: Patch Now

Google has announced a crucial update to its Chrome browser, addressing several vulnerabilities, including...

The Moon Malware Hacked 6,000 ASUS Routers in 72hours to Use for Proxy

Black Lotus Labs discovered a multi-year campaign by TheMoon malware targeting vulnerable routers and...

Hackers Actively Exploiting Ray AI Framework Flaw to Hack Thousands of Servers

A critical vulnerability in Ray, an open-source AI framework that is widely utilized across...

Chinese Hackers Attacking Southeast Asian Nations With Malware Packages

Cybersecurity researchers at Unit 42 have uncovered a sophisticated cyberespionage campaign orchestrated by two...
Balaji
Balaji
BALAJI is an Ex-Security Researcher (Threat Research Labs) at Comodo Cybersecurity. Editor-in-Chief & Co-Founder - Cyber Security News & GBHackers On Security.

Mitigating Vulnerability Types & 0-day Threats

Mitigating Vulnerability & 0-day Threats

Alert Fatigue that helps no one as security teams need to triage 100s of vulnerabilities.

  • The problem of vulnerability fatigue today
  • Difference between CVSS-specific vulnerability vs risk-based vulnerability
  • Evaluating vulnerabilities based on the business impact/risk
  • Automation to reduce alert fatigue and enhance security posture significantly

Related Articles