1 คะแนน โดย GN⁺ 2024-10-18 | 1 ความคิดเห็น | แชร์ทาง WhatsApp

บทนำ

  • โพสต์บล็อกนี้อธิบายกระบวนการค้นพบช่องโหว่ CVE-2024-6778 และ CVE-2024-5836 ในเว็บเบราว์เซอร์ Chromium
  • ช่องโหว่นี้ทำให้สามารถหลุดออกจากแซนด์บ็อกซ์ผ่านส่วนขยายของเบราว์เซอร์ได้
  • Google จ่ายเงินรางวัล $20,000 สำหรับรายงานบั๊กนี้

WebUI และ Chrome Sandbox

  • Chromium รันโค้ดที่ไม่น่าเชื่อถือภายในสภาพแวดล้อมแซนด์บ็อกซ์ เพื่ออนุญาตให้มีการโต้ตอบได้อย่างจำกัดเท่านั้น
  • WebUI ถูกใช้เพื่อแสดง GUI ของ Chromium และมีสิทธิ์ในการเข้าถึง API ภายในบางตัว
  • โค้ดที่รันบนหน้า WebUI สามารถข้ามแซนด์บ็อกซ์ได้ ทำให้ผู้โจมตีสามารถนำไปใช้ประโยชน์ได้

นโยบายองค์กร

  • ระบบนโยบายองค์กรของ Chromium มีไว้เพื่อบังคับใช้การตั้งค่าบางอย่างกับอุปกรณ์ที่เป็นของบริษัทหรือโรงเรียน
  • นโยบายผู้ใช้จะถูกใช้กับผู้ใช้เฉพาะรายหรืออินสแตนซ์ของเบราว์เซอร์บางตัว และสามารถตั้งค่าได้จากในเครื่อง

Policy WebUI

  • Chromium มี WebUI สำหรับดูนโยบายที่ถูกใช้กับอุปกรณ์ปัจจุบัน
  • มีฟีเจอร์ที่ไม่เป็นทางการซึ่งสามารถแก้ไขนโยบายได้จากหน้านี้

การโจมตีผ่านหน้าทดสอบนโยบาย

  • พบการกล่าวถึงหน้าทดสอบนโยบายในบันทึกประจำรุ่นของ Chrome v117
  • หน้านี้มีวิธีที่ไม่เป็นทางการในการตั้งค่านโยบาย

การหลุดออกจากแซนด์บ็อกซ์

  • สามารถโจมตีเพื่อหลุดออกจากแซนด์บ็อกซ์ได้โดยอาศัยฟังก์ชันที่ตั้งค่านโยบายผู้ใช้แบบใดก็ได้ตามต้องการ
  • สามารถใช้ฟีเจอร์ Browser Switcher เพื่อรันคำสั่งเชลล์ตามต้องการได้

การโจมตีผ่าน DevTools API

  • พบวิธีทำให้ส่วนขยาย Chrome ที่เป็นอันตรายรัน JS บนหน้า chrome://policy ได้โดยอัตโนมัติ
  • ใช้ API chrome.devtools.inspectedWindow.reload() เพื่อรันโค้ดบนหน้า WebUI

บทสรุป

  • แสดงให้เห็นว่าความผิดพลาดเล็ก ๆ หลายจุดเมื่อซ้อนกันอาจนำไปสู่ช่องโหว่ความรุนแรงสูงได้
  • โค้ดเก่าไม่ได้ปลอดภัยเสมอไป และควรคำนึงถึงความเป็นไปได้ที่จะเกิดบั๊กลักษณะคล้ายกัน

สรุปโดย GN⁺

  • โพสต์บล็อกนี้อธิบายอย่างละเอียดถึงกระบวนการค้นพบและรายงานช่องโหว่ใน Chromium
  • ช่องโหว่นี้ทำให้สามารถหลุดออกจากแซนด์บ็อกซ์ผ่านส่วนขยายของเบราว์เซอร์ได้ และได้รับเงินรางวัล $20,000 จาก Google
  • บทความนี้ให้ข้อมูลที่เป็นประโยชน์สำหรับนักวิจัยด้านความปลอดภัยและวิศวกรซอฟต์แวร์ พร้อมบทเรียนเพื่อป้องกันช่องโหว่ลักษณะคล้ายกัน
  • โปรเจกต์อื่นที่มีความสามารถคล้ายกันซึ่งอาจแนะนำได้คือฟีเจอร์ด้านความปลอดภัยของ Firefox

1 ความคิดเห็น

 
GN⁺ 2024-10-18
ความคิดเห็นจาก Hacker News
  • ทำให้นึกถึงตอนที่ดีบักเชลล์ "crosh" ของ Chrome OS แล้วใช้ API เดียวกันเพื่อหลบเลี่ยงการป้องกันของระบบปฏิบัติการและได้สิทธิ์เข้าถึงระดับรูท ผู้เขียนบทความนี้ก้าวข้ามอุปสรรคที่ยากกว่านั้นไปได้ เป็นงานที่ยอดเยี่ยม

  • เพื่อป้องกันไม่ให้ URL ของหน้าถูกแทนที่ด้วย ${url} สามารถใส่ไว้หลัง # เพื่อให้กลายเป็นคอมเมนต์ได้ สงสัยว่ามีตรรกะตรวจสอบหรือไม่ว่า URL ควรถูกส่งไปยัง AlternativeBrowserParameters หรือไม่

  • บทความและผลงานยอดเยี่ยมมาก รู้สึกถึงความตื่นเต้นร่วมไปกับกระบวนการค้นพบ เป็นรางวัลที่สมควรแล้ว

  • เป็นห่วงโซ่ช่องโหว่ที่ยอดเยี่ยมและบทความที่เขียนได้ดี การวิเคราะห์โค้ดที่มีช่องโหว่ก็ทำได้ดีด้วย ประทับใจกับลูกเล่นง่าย ๆ อย่าง "กด F12 แล้วลองอีกครั้ง" อยู่เสมอ

  • ดึกเกินกว่าจะเจาะลึกปัญหาของการตรวจสอบ WebUI แล้ว แต่ขอชื่นชมคนที่แก้ปัญหานี้ได้ ปกติเรามักตั้งข้อสงสัยและไม่ไว้วางใจ toolchain สำหรับสิ่งที่เราปล่อยออกไป แต่ขณะเดียวกันก็กลับเชื่อใจเครื่องมือนักพัฒนาที่สะดวกสบายจากบริษัทยักษ์ใหญ่อย่าง Google หรือ MS มากเกินไป เพราะส่วนใหญ่แค่อยากโฟกัสกับการเขียนและทดสอบโค้ดของตัวเอง

  • นี่เป็นหนึ่งในงานเขียนที่ดีที่สุดที่เคยอ่านมา เป็นงานสืบสวนที่ฉลาดมาก

  • Allen บอกว่าตัวเองเป็นนักเรียนมัธยมปลายที่สนใจการเขียนโปรแกรม การพัฒนาเว็บ และความมั่นคงไซเบอร์ น่าประทับใจมาก

  • โครงการ Chromium ตัดสินใจลบ chrome://net-internals ออกเพราะหน้ามีความซับซ้อนเกินไป แล้วก็เพิ่ม chrome://policy พร้อมรองรับการแก้ไข JSON แบบยังไม่สมบูรณ์

  • เป็นบทความที่เจ๋งมาก อ่านแล้วเหมือนนิยายระทึกขวัญ เป็นห่วงโซ่ช่องโหว่ที่ยอดเยี่ยม