Issue 116: Facebook and Parler API vulnerabilities, clairvoyance 🔭

The Latest API Security News, Vulnerabilities and Best Practices
Issue: #116
Facebook and Parler API vulnerabilities, clairvoyance
This week, we check out the recent API vulnerabilities at Facebook and Parler, there is a new GraphQL discovery tool called clairvoyance, and we have API security advice from Corey Ball.
Vulnerability: Facebook
 

Pouya Darabi found an API vulnerability in Facebook that allowed him to create posts on other users’ pages. The posts were not popping up in the newsfeed, but they were visible and looked legitimate to anyone who would have accessed them through a direct link.

post_on_pages

The vulnerability was caused by the lack of authorization checks for “invisible” (unlisted) posts. Darabi created such a post using his own account and was able to intercept the API request that Facebook sent. He then substituted the value of the parameter page_id with a value that belonged to a different user account:

request

Darabi then made the API call to share the post that generated a preview page for it. In that call, he also substituted the page_id value. That allowed him to create a post on behalf of another page.

The business impact here could have been quite nasty. Page administrators would not even see such posts because they were unlisted, so they could not review and delete them. Meanwhile, an attacker could distribute a direct link to the post and spread misinformation in the name of the victim.

This is another example of the Broken Object-Level Authorization (BOLA/IDOR) API vulnerability. The API call contains identifiers of a resource among the parameters, yet there is no authorization check to ensure that the caller has the right to access that resource.

Darabi received a total of $30,000 for his finding ($15,000 for the original report and then $15,000 more for a bypass to Facebook’s initial fix.)

 

Vulnerability: Parler
 

The recent political drama in the US has affected the tech companies as well and led to an API breach. 70 TB of data from Parler, the Twitter-like social network that was popular among Trump supporters, got scraped through insecure APIs.

Judging by the various articles and discussion threads, it looks like the following happened:

  1. Parler was using Twilio for account verification for password resets.
  2. Twilio decided to stop serving Parler, and the account verification was removed.
  3. Attackers were able to take over some of the administrative accounts in Parler.
  4. The attackers used these accounts to create more admins in the system.
  5. The hijacked and new admin accounts were used to access and scrape Parler data, such as posts, pictures, and videos that users had shared.

The IDs of Parler posts were sequential, so it was easy for the attackers to enumerate them all. The picture and video files were accessible in raw format, which included all metadata, like location information.

It also turned out that even deleted posts were still accessible: when a user deleted a post, Parler did not actually remove the content, just marked it deleted and stowed it out of sight.

These are serious security flaws, so here are a few lessons that one could take heed of, regardless of your political views:

  • Authentication is key to security (see OWASP API:2 Broken Authentication) and should include all the ways of accessing accounts, including password reset.
  • Using sequential identifiers is an open invitation to get your records enumerated and scraped. Use random IDs instead.
  • Do not store any data that you do not need or should not be storing. The less data you keep, the smaller the risk.
  • Monitoring, logging, and incident handling processes can help take quick mitigation steps should a breach occur.
Tools: clairvoyance
 

Nikita Stupin has developed an open-source tool called clairvoyance that effectively does brute-force discovery of GraphQL APIs. This can be helpful for reconnaissance of GraphQL APIs that have retrospection disabled.

The tool makes use of a flaw in the GraphQL Apollo Server. The server error messages try to be helpful and, as a result, leak resource names when a call contains wrong values.

Here are a few examples:

EroONh_WMDsD4JZ
EroOO36W4AQkcG7
EroOLvHXAAIjueN
EroOKN2XMAIvrM3

See Stupin’s explanation and demo in this recording of his recent talk in OWASP AppSec Israel. The demo starts around the 13:15 mark.

 

Opinion: The current state of API security
 

Corey Ball is a cybersecurity consultant and the author of the upcoming “Hacking APIs” book (the title might still change). PortSwigger has published an interview with him on API security.

The topics included:

  • The current state of API security
  • Why API security is often overlooked
  • Examples of breaches
  • The role of API standards
  • Advice to companies: scanning, API security testing, business logic review, not relying upon security by obscurity, and so forth.
 
 
Thanks for reading.

That's it for today. If you have any feedback or stories to share, simply reply to this email.

Please forward the newsletter to your friends and colleagues who might benefit from it.

 
42Crunch Ltd   71-75 Shelton Street  Covent Garden  London  Greater London   WC2H 9JQ   United Kingdom
You received this email because you are subscribed to API Security News from 42Crunch Ltd.

Update your email preferences to choose the types of emails you receive or Unsubscribe from all future emails  
 
 

Older messages

Issue 115: Vulnerabilities in SolarWinds, Ledger, Outlook, new plugin for JetBrains IDEs 🛠️

Thursday, January 7, 2021

Hi, today we look at the API aspects of SolarWinds and Ledger breaches, Outlook JWT... APIsecurity.io The Latest API Security News, Vulnerabilities and Best Practices Issue: #115 Vulnerabilities in

Issue 114: SolarWinds and PickPoint breaches, GitHub Code Scanning review, GraphQL security 〽️

Thursday, December 17, 2020

Hi, this week we look at the API security aspects of two recent breaches, shift-left APIsecurity.io The Latest API Security News, Vulnerabilities and Best Practices Issue: #114 SolarWinds and PickPoint

Issue 113: API vulnerabilities at YouTube and 1Password, OIDC security, Assetnote Wordlists

Thursday, December 10, 2020

Hi, today we look at OIDC security, wordlists for reconnasaince, and 2 recent API flaws APIsecurity.io The Latest API Security News, Vulnerabilities and Best Practices Issue: #113 API vulnerabilities

Issue 111: API vulnerabilities in AWS, Tesla Backup Gateway, Twitter 🦃

Friday, December 4, 2020

Hi, today we look at 3 recent API vulnerability reports and have passes to another conf APIsecurity.io The Latest API Security News, Vulnerabilities and Best Practices Issue: #111 API vulnerabilities

Issue 112: Vulnerability in Paginator, Microsoft RESTLer, talks on API authentication and JWT security 🗝️

Friday, December 4, 2020

Hi, today we look at a recent injection vulnerability, another API fuzzer, and 2 talks APIsecurity.io The Latest API Security News, Vulnerabilities and Best Practices Issue: #112 Vulnerability in

You Might Also Like

📧 What Rewriting a 40-Year-Old Project Taught Me About Software Development

Saturday, December 28, 2024

​ What Rewriting a 40-Year-Old Project Taught Me About Software Development Read on: m​y website / Read time: 7 minutes The .NET Weekly is brought to you by: As the year wraps up, it's clear API

This Week in Rust #579

Saturday, December 28, 2024

Email isn't displaying correctly? Read this e-mail on the Web This Week in Rust issue 579 — 25 DEC 2024 Hello and welcome to another issue of This Week in Rust! Rust is a programming language

The Calm Voice Of Chaos 🏆

Friday, December 27, 2024

The protest singer whose songs shaped 2024. Here's a version for your browser. Hunting for the end of the long tail • December 27, 2024 The Calm Voice Of Chaos This year's Tedium awards start

JSK Daily for Dec 27, 2024

Friday, December 27, 2024

JSK Daily for Dec 27, 2024 View this email in your browser A community curated daily e-mail of JavaScript news Performance Optimization in React Pivot Table with Data Compression The Syncfusion React

Daily Coding Problem: Problem #1650 [Hard]

Friday, December 27, 2024

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Microsoft. Recall that the minimum spanning tree is the subset of edges of a tree that

🧠 3 Ways Quantum Computing Will Change Our World — How to Transfer Data to Your New iPhone

Friday, December 27, 2024

Also: Great Spotify Features That Apple Music Has Too, and More! How-To Geek Logo December 27, 2024 Did You Know 2004 was the last year that hidden (or "pop-up") headlamps appeared on a mass-

Charted | How U.S. Household Incomes Have Changed (1967-2023) 💰

Friday, December 27, 2024

When looking at inflation adjusted data, US households have definitely gotten a whole lot richer since 1967. View Online | Subscribe | Download Our App FEATURED STORY How US Household Incomes Have

Can Pirates Save Democracy?

Friday, December 27, 2024

Top Tech Content sent at Noon! Boost Your Article on HackerNoon for $159.99! Read this email in your browser How are you, @newsletterest1? 🪐 What's happening in tech today, December 27, 2024? The

The 2025 Predictions You Can't Afford to Miss 🔮

Friday, December 27, 2024

Get a head start on what's to come in the New Year. Join VC+ to gain access to our 2025 Global Forecast Series and other exclusive insights! View email in browser HOW LEADERS STAY AHEAD IN 2025 The

DeveloPassion's Newsletter #182 - 2024 Retrospective

Friday, December 27, 2024

A newsletter discussing Knowledge Management, Knowledge Work, Zen Productivity, Personal Organization, and more! Sébastien Dubois DeveloPassion's Newsletter DeveloPassion's Newsletter #182 -