ข้ามไปยังเนื้อหา
ลิงก์แชร์ ChatGPT ลิงก์เดียวยึดบัญชีได้ ต้นตอคือ MathLive ไลบรารีที่มียอดดาวน์โหลดกว่า 4 แสนต่อสัปดาห์ เพิ่งออกแพตช์ 31 ต.ค.
การแฮ็ก

ลิงก์แชร์ ChatGPT ลิงก์เดียวยึดบัญชีได้ ต้นตอคือ MathLive ไลบรารีที่มียอดดาวน์โหลดกว่า 4 แสนต่อสัปดาห์ เพิ่งออกแพตช์ 31 ต.ค.

อ่าน 5 นาที ที่มา: Parameter Labs

Parameter Labs เปิดเผยเมื่อ 28 ต.ค. 2026 ว่าลิงก์แชร์สาธารณะของ ChatGPT เคยถูกทำให้รัน JavaScript ของผู้โจมตีในเซสชันที่ล็อกอินอยู่ของคนที่กดเปิดได้ ทีมวิจัยพิสูจน์ว่าโค้ดนั้นไล่รายการแชต อ่านเนื้อหาแชตส่วนตัวที่ไม่เคยแชร์ให้ใคร และส่งข้อมูลออกไปยังเซิร์ฟเวอร์ภายนอกได้ OpenAI แก้เสร็จเมื่อ 26 ต.ค. จัดเป็น P1 และจ่ายรางวัลรวม $5,000 ผู้ใช้ ChatGPT จึงไม่ต้องทำอะไรเพิ่ม

เรื่องนี้ควรอยู่ในสายตานักพัฒนาเพราะจุดเริ่มต้นไม่ได้อยู่ในโค้ดเฉพาะของ OpenAI แต่อยู่ใน MathLive ไลบรารีคีย์บอร์ดคณิตศาสตร์แบบโอเพนซอร์สบน npm ที่มียอดดาวน์โหลด 421,823 ครั้ง ในสัปดาห์ 23-29 ต.ค. และเวอร์ชันที่แก้พฤติกรรมนี้เพิ่งออกเมื่อ 31 ต.ค. ซึ่งเป็นสามวันหลังบทความเผยแพร่ ถ้าเว็บของคุณใช้ MathLive ในหน้าที่มี iframe ไม่น่าเชื่อถืออยู่ด้วย งานนี้ยังไม่จบ

ห่วงโซ่การโจมตี

แต่ละชิ้นดูปลอดภัยเมื่อแยกกัน ปัญหาเกิดเมื่อมาอยู่หน้าเดียวกัน

  1. ผู้โจมตีสร้างบทสนทนาที่มีกราฟจริงหนึ่งอัน กราฟนี้โหลด MathLive เข้าหน้าหลักของ chatgpt.com และติดตั้งตัวรับ postMessage ของคีย์บอร์ดเสมือน
  2. ในบทสนทนาเดียวกันมี HTML Preview ซึ่งรันใน iframe แยกโดเมนตามที่ควรเป็น โค้ดในนั้นอ่านหน้าหลักไม่ได้ แต่ส่งข้อความไปหาหน้าหลักได้
  3. ตัวรับของ MathLive ใช้นโยบาย origin เป็น none จึงรับข้อความจากทุกที่ และยอมให้ข้อความ update-setting เปลี่ยน layout ของคีย์บอร์ดเป็น HTML ดิบ ก่อนนำไปใส่ innerHTML ในหน้าจริง
  4. HTML นั้นคือ <iframe srcdoc> ที่ไม่มี sandbox เบราว์เซอร์จึงให้มันมี origin เป็น chatgpt.com
  5. CSP บล็อก inline script แต่ยอมให้โหลดสคริปต์จาก YouTube ทีมวิจัยใช้ endpoint oEmbed ที่นำพารามิเตอร์ callback ไปใส่ในคำตอบแบบ JSONP ก่อนตรวจความถูกต้อง จึงได้ JavaScript ที่รันในฐานะ chatgpt.com

ผู้โจมตีแค่ส่งลิงก์ /share/<id> ทางอีเมลหรือแชต เวอร์ชันที่เสถียรที่สุดเหยื่อต้องกดปุ่ม Preview หนึ่งครั้ง แต่เมื่อทำเครื่องหมายให้ Preview เปิดเอง การเปิดลิงก์ก็เป็นการกระทำเดียวที่ต้องมี ทีมทำซ้ำเส้นทางอัตโนมัตินี้ได้ 3 ครั้งในบัญชีแยก โดยโค้ดทำงานหลังเปิดราว 4.5 วินาที

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

ไทม์ไลน์

  • 13-14 ต.ค. ยืนยันเส้นทางบนโค้ด production และได้ JavaScript รันจริง
  • 16-17 ต.ค. ยืนยันการส่งผ่านลิงก์แชร์ข้ามบัญชี และเส้นทาง Preview อัตโนมัติ
  • 18 ต.ค. ส่งรายงานให้ bug bounty ของ OpenAI
  • 21 ต.ค. OpenAI ทำซ้ำได้ และปรับความรุนแรงจาก P2 เป็น P1
  • 22-26 ต.ค. ทยอยแก้ frontend สองเวอร์ชัน และปิดเคส
  • 31 ต.ค. MathLive ออก 0.111.2

สิ่งที่ MathLive เปลี่ยนใน 0.111.2

Changelog ของเวอร์ชันนี้ระบุหัวข้อ Security ว่า ข้อความของคีย์บอร์ดเสมือน proxy และ mathfield จะตรวจ origin แบบ same-origin เป็นค่าเริ่มต้น ข้ามโดเมนต้องประกาศ origin ที่เชื่อถือเอง ข้อความข้ามหน้าต่างเลือกได้แค่ layout ที่มีมาในตัว ส่ง layout หรือ keycap แบบกำหนดเองไม่ได้แม้จะปิดการตรวจ origin และข้อความที่เปลี่ยนสถานะจะผูกกับหน้าต่าง mathfield ที่เชื่อมต่ออยู่

ตอนเราตรวจ เวอร์ชันล่าสุดบน npm คือ 0.111.4 และหน้า security advisories ของ repo ยังไม่มีรายการใหม่หลัง 9 ต.ค. ดังนั้นเครื่องมือสแกน dependency อาจยังไม่เตือน เราไม่พบคำชี้แจงว่าการแก้นี้มาจากรายงานของ Parameter โดยตรง แม้เนื้อหาจะตรงกับจุดอ่อนที่รายงานระบุ

มุมมอง AI Curator

บทเรียนที่แพงที่สุดของเคสนี้คือ sandbox ทำงานถูกต้องตลอดทาง Preview ถูกกักไว้จริง สิ่งที่พังคือคอมโพเนนต์ในหน้าหลักที่ “ฟัง” ข้อความจากข้างนอก ทีมที่ทำฟีเจอร์แบบ artifact หรือรัน HTML ที่โมเดลสร้างจึงควรตรวจไม่ใช่แค่กรอบ iframe แต่ต้องไล่ทุก message listener ที่ไลบรารีบุคคลที่สามติดตั้งไว้ในหน้าเดียวกันด้วย เพราะโมเดลทำให้โค้ดที่ไม่น่าเชื่อถือกลายเป็นเนื้อหาปกติของแอป

สำหรับทีมไทยที่ทำระบบการศึกษา แบบฝึกหัดคณิตศาสตร์ หรือ LMS MathLive เป็น dependency ที่เจอได้จริง ให้รัน npm ls mathlive แล้วอัปเกรดเป็น 0.111.4 ขึ้นไป และทดสอบกรณีฝังข้ามโดเมน เพราะค่าเริ่มต้นใหม่จะทำให้ integration ที่พึ่ง cross-origin หยุดทำงานจนกว่าจะประกาศ origin เอง อีกข้อที่ทำได้เลยคือทบทวน CSP ถ้ามีโดเมนใหญ่อย่าง YouTube อยู่ใน script-src ควรถือว่าเป็นช่องทางรันสคริปต์ ไม่ใช่รายชื่อที่ปลอดภัย

เงินรางวัล $5,000 สำหรับ P1 ที่อ่านแชตส่วนตัวของใครก็ได้ด้วยลิงก์เดียวก็น่าคิด เมื่อแชตเก็บทั้งรหัส เอกสารภายใน และความลับลูกค้า ราคาตลาดของช่องโหว่แบบนี้ไม่น่าจะต่ำขนาดนั้น

แหล่งข่าว

บทความนี้เรียบเรียงจากแหล่งข่าวต้นทาง — Parameter Labs

เนื้อหาบน blog นี้สร้างโดย AI โดยมีการกำกับบรรณาธิการจากมนุษย์

อ่านเพิ่มในหมวด การแฮ็ก

Talos พบมัลแวร์ VOLTA ขโมยข้อมูลแล้วส่งให้ LLM จัดอันดับว่าเหยื่อคุ้มค่าแค่ไหน พร้อมสลับโมเดลอัตโนมัติเมื่อถูกปฏิเสธ
การแฮ็ก

Talos พบมัลแวร์ VOLTA ขโมยข้อมูลแล้วส่งให้ LLM จัดอันดับว่าเหยื่อคุ้มค่าแค่ไหน พร้อมสลับโมเดลอัตโนมัติเมื่อถูกปฏิเสธ

Cisco Talos เผยแพร่รายงาน VOLTA-AUTODOXER เมื่อ 31 ต.ค. มัลแวร์ขโมยข้อมูลบน Windows ที่ส่งหลักฐานของเหยื่อผ่าน OpenRouter ให้ LLM เขียนรายงานจัดลำดับมูลค่า ถ้าโมเดลแรกปฏิเสธจะไล่ไปโมเดลถัดไป และตัวสร้างแบบแทนค่าบ่งชี้ว่าอาจถูกขายเป็นสินค้า

· อ่าน 4 นาที
ส่วนขยาย Claude Code ปลอมฝังแบ็กดอร์ SSH บน Cursor Marketplace — อยู่ 11 ชั่วโมง กระทบไม่เกิน 5,000 คน ถอนส่วนขยายอย่างเดียวไม่พอ
การแฮ็ก

ส่วนขยาย Claude Code ปลอมฝังแบ็กดอร์ SSH บน Cursor Marketplace — อยู่ 11 ชั่วโมง กระทบไม่เกิน 5,000 คน ถอนส่วนขยายอย่างเดียวไม่พอ

Cursor ยืนยันว่า Anthropic.claude-code เวอร์ชัน 2.1.312 และ 2.1.313 ที่ถูกดัดแปลงอยู่ใน marketplace ราว 11 ชั่วโมงเมื่อ 29 ต.ค. พยายามเปิดแบ็กดอร์ SSH บน macOS และ Windows พนักงาน Anthropic ยืนยันว่า 2.1.313 ไม่เคยถูกเผยแพร่จากบริษัท เรื่องที่ยังไม่เปิดเผยคือคนร้ายเข้าไปวางไฟล์ได้อย่างไร

· อ่าน 5 นาที
Epoch AI: GLM-5.3 สร้างเว็บเจาะ Firefox จาก patch gap ได้เอง ทุกเวอร์ชันในช่วง 6 รุ่นล่าสุด ต้นทุนรุ่นละราว $1,000
การแฮ็ก

Epoch AI: GLM-5.3 สร้างเว็บเจาะ Firefox จาก patch gap ได้เอง ทุกเวอร์ชันในช่วง 6 รุ่นล่าสุด ต้นทุนรุ่นละราว $1,000

รายงาน 29 ต.ค. ของ Epoch AI พบว่าโมเดล open-weight GLM-5.3 ใช้แพตช์ที่เผยแพร่แล้วแต่ยังไม่ถึงผู้ใช้ สร้างเว็บที่อ่านไฟล์จากเครื่องผู้เยี่ยมชม Firefox ได้ทั้ง 6 รุ่น โดยไม่มีการปฏิเสธจากผู้ให้บริการใด Mozilla ปิดช่องโหว่สำคัญแล้วใน Firefox 159 ส่วน Chrome ยังเจาะไม่สำเร็จ

· อ่าน 4 นาที