บั๊ก IndexedDB บน Safari 15 ทำให้เว็บไซต์ดูประวัติเข้าเว็บ และดู Google User ID ของผู้ใช้ได้

by mheevariety
17 January 2022 - 08:11

FingerprintJS เปิดเผยบั๊กบน IndexedDB API ใน Safari 15 ที่ทำให้เว็บไซต์มุ่งร้ายสามารถดู ติดตามประวัติเข้าเว็บของผู้ใช้ และดู Google User ID ของผู้ใช้ได้ มีผลทั้งบน Mac, iOS และ iPadOS

บั๊กนี้ทำให้เว็บไซต์สามารถมองเห็นชื่อดาต้าเบสบน IndexedDB ของโดเมนใดก็ได้ ไม่ใช่แค่ดาต้าเบสที่สร้างโดยชื่อโดเมนของตัวเอง และชื่อดาต้าเบสที่หลุดนี้ก็สามารถนำไปหาประวัติการเข้าเว็บไซต์ได้โดยการเก็บรายละเอียดชื่อดาต้าเบสของเว็บไซต์ชั้นนำแต่ละเว็บ แล้วใช้ lookup table เทียบ

ข้อจำกัดของช่องโหว่นี้คือเว็บมุ่งร้ายจะเช็คได้ว่าผู้ใช้เคยเข้าเว็บปลายทางหรือไม่ เว็บปลายทางต้องเป็นเว็บที่สร้าง IndexedDB เองเท่านั้น ซึ่งทาง FingerprintJS ระบุว่าในรายการเว็บ Alexa 1,000 เว็บแรก มีอยู่ 30 กว่าเว็บที่สร้าง IndexedDB เองโดยผู้ใช้ไม่ได้เข้าใช้ฟีเจอร์อะไรเป็นพิเศษ

อีกปัญหาหนึ่งคือเมื่อผู้ใช้ล็อกอินเข้าสู่บัญชี Google บน Safari ตัว Google services ก็จะสร้างดาต้าเบสใน IndexedDB ไว้หนึ่งรายการต่อหนึ่งแอคเคาท์ที่ล็อกอินไว้ โดยชื่อดาต้าเบสนั้นจะไปตรงกับเลข Google User ID ของผู้ใช้

เมื่อเว็บไซต์ต่างๆ สามารถดูชื่อดาต้าเบสของผู้ใช้ได้ แปลว่าเว็บที่มุ่งร้ายก็สามารถรู้ Google User ID ของผู้ใช้ได้ และเลข Google User ID นี้ ก็สามารถถูกนำไปใช้สร้าง API request ส่งไปยัง Google services เพื่อขอข้อมูลส่วนตัวอื่นของผู้ใช้ได้เช่นกัน

ในเว็บตัวอย่างที่ FingerprintJS สร้าง ตัวเว็บจะสามารถดึงภาพโปรไฟล์บนบัญชี Google ของผู้ใช้ได้ และมี lookup table ไว้เทียบประวัติการเข้าชมเว็บไซต์ประมาณ 30 เว็บ ถ้าใครอยากทดสอบ ลองเปิดเว็บไซต์ตัวอย่างนี้ใน Safari 15 แล้วเช็คดูว่าเว็บนี้สามารถดึงข้อมูลอะไรจาก Safari ของคุณได้บ้าง

FingerprintJS ระบุว่าแจ้งบั๊กนี้ไปใน WebKit Bug Tracker แล้ว ตั้งแต่วันที่ 28 พฤศจิกายน ปี 2021 เป็นบั๊กหมายเลข 233548 แต่ปัจจุบันยังไม่ได้รับการแก้ไข คงต้องรอดูต่อไปว่า Apple จะดำเนินการเมื่อไร

ที่มา - FingerprintJS

Blognone Jobs Premium