All vulnerabilities
HIGHAppSec

APPSEC-3FUN-2019

API · Social · 3fun

Summary

On 8 August 2019 Pen Test Partners (researcher Alex Lomas) publicly disclosed that the 3fun dating app, which claimed about 1.5 million users, was leaking the precise location and private profile data of its users. The app collected real-time GPS coordinates and let users hide their location, but that privacy setting was enforced client-side only, hidden purely in the mobile app interface. The server's API endpoint still returned each user's exact latitude and longitude plus private profile data including dates of birth, sexual preferences, chat information and private photos stored in Amazon S3, regardless of the user's privacy settings. Because an attacker could spoof arbitrary coordinates and read raw coordinates directly from the response, no trilateration was even necessary, and Pen Test Partners located users at the White House, US Supreme Court and 10 Downing Street. This is a classic Excessive Data Exposure flaw, the read side of Broken Object Property Level Authorization (OWASP API3:2023), where the server returns sensitive object properties the client should never receive and relies on the client to filter them. 3fun pushed a fix roughly a week after notification.

How to avoid it in your code

  • Enforce privacy settings server-side, never returning fields the requesting user is not authorized to see.
  • Return only the object properties the caller is authorized to receive; never rely on the client to hide data.
  • Coarsen or omit location data on the server before sending; never return exact coordinates for hidden users.
  • Treat private photos and profile fields as authorization-gated resources checked on every API response.
  • Encrypt API traffic in transit and add anomaly detection for coordinate-spoofing or bulk-profile access.

References

Related vulnerabilities

All AppSec →