สรุปสั้น

บริษัท Cloudflare และนักวิจัยที่ค้นพบเปิดเผยเมื่อวันพฤหัสบดีว่า มีช่องโหว่ในบริการ Cloudflare Containers ที่เปิดให้ลูกค้าแบบเสียเงินรายหนึ่งอ่านข้อมูลที่คอนเทนเนอร์ของลูกค้ารายอื่นทิ้งค้างไว้บนดิสก์ของเซิร์ฟเวอร์เครื่องเดียวกันได้ ข้อมูลที่รั่วมาจากพื้นที่ดิสก์ที่คอนเทนเนอร์ก่อนหน้าเคยใช้แล้วปล่อยคืน ไม่ใช่จากภาระงานที่กำลังทำงานอยู่ และผู้โจมตีไม่สามารถเลือกได้ว่าจะได้ข้อมูลของใคร บริการ Cloudflare Sandboxes ซึ่งทำงานบน Containers และถูกวางขายเป็นพื้นที่ปลอดภัยสำหรับรันโค้ดที่ไม่น่าเชื่อถือ รวมถึงโค้ดที่เขียนโดยตัวแทน AI ก็ได้รับผลกระทบด้วย

ช่องโหว่นี้ถูกรายงานเมื่อวันที่ 4 กันยายนโดยนาย Oren Yomtov จากบริษัทความปลอดภัย Accomplish ผ่านโครงการ bug bounty ของ Cloudflare ทางบริษัทได้แก้ไขช่องโหว่ทั่วทั้งบริการและล้างดิสก์ที่ค้างอยู่ทั้งหมดเสร็จสิ้นเมื่อวันที่ 19 กันยายน โดยระบุว่าลูกค้าไม่ต้องดำเนินการใด ๆ เพิ่มเติม ทั้งนี้ Cloudflare ตรวจสอบบันทึกกิจกรรมของดิสก์ที่เก็บไว้แล้วระบุว่าไม่พบหลักฐานว่ามีผู้อื่นใช้วิธีการนี้ นอกเหนือจากการทดสอบที่ได้รับอนุญาตของนักวิจัยและวิศวกรของบริษัทเอง

รายละเอียดข่าว

เว็บไซต์ The Hacker News รายงานเมื่อวันที่ 25 กันยายน พ.ศ. 2569 ว่า Cloudflare ได้แก้ไขช่องโหว่ในบริการ Containers ที่เปิดให้คอนเทนเนอร์ของลูกค้ารายหนึ่งเข้าถึงข้อมูลตกค้างของอีกรายที่ใช้เซิร์ฟเวอร์ร่วมกัน

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

จากการทดสอบในสภาพแวดล้อมจริง นักวิจัยรายงานว่าพบข้อมูลตกค้างใน 18 จาก 24 ครั้งที่ทดสอบ ซึ่งแต่ละครั้งอยู่บนเซิร์ฟเวอร์ที่ Cloudflare เป็นผู้เลือก และพบใน 20 จาก 22 เครื่องที่เป็นฐานรองรับกระจายอยู่ทั่วสี่ทวีป บล็อกที่กู้คืนได้บรรจุโครงสร้างไดเรกทอรี หน้าฐานข้อมูล และฐานข้อมูล SQLite ที่สมบูรณ์ทั้งชุด ขณะที่รายงานของนักวิจัยเองระบุถึงรายการไดเรกทอรี ฐานข้อมูล SQLite โปรไฟล์เบราว์เซอร์ Chromium ไฟล์ .env และไฟล์ข้อมูลรับรอง โดยอธิบายว่าเป็นไฟล์ของลูกค้ารายอื่น

นักวิจัยระบุว่าสคริปต์วิเคราะห์ของตนแสดงผลเพียงจำนวนนับและการตรวจรูปแบบ ไม่ได้แสดงเนื้อหาไฟล์ และข้อมูลที่ส่งให้ Cloudflare ไม่มีชื่อ ตัวระบุ ข้อมูลรับรอง หรือเนื้อหาที่กู้คืนของบุคคลที่สาม ทั้งยังยืนยันว่าข้อมูลที่กู้คืนถูกเก็บเป็นความลับและลบทิ้งอย่างปลอดภัยหลังส่งมอบ อย่างไรก็ตาม นักวิจัยยังแยกกันระบุว่าการตั้งค่าดิสก์แบบเดียวกันนี้กระทบผลิตภัณฑ์ Browser Run ของ Cloudflare ด้วย ซึ่งประกาศของ Cloudflare ระบุเพียง Containers และ Sandboxes ว่าได้รับผลกระทบ และไม่ได้เอ่ยถึง Browser Run

วิธีการโจมตี

ต้นตอของปัญหาอยู่ที่วิธีตั้งค่าดิสก์ที่ใช้ร่วมกัน คอนเทนเนอร์แต่ละตัวจะได้ดิสก์ที่สร้างด้วยฟีเจอร์ของ Linux ที่ชื่อ thin provisioning ซึ่งจัดสรรพื้นที่เก็บข้อมูลเป็นบล็อกขนาด 64 กิโลไบต์ เมื่อคอนเทนเนอร์ถูกลบ บล็อกของมันจะถูกส่งคืนเข้าสู่พูลที่ใช้ร่วมกันข้ามบัญชีลูกค้า แต่พูลดังกล่าวถูกตั้งค่าให้ข้ามการล้างข้อมูล (wipe) ในบล็อกก่อนส่งต่อให้คอนเทนเนอร์ถัดไป ทั้งที่ตามปกติการล้างข้อมูลควรเป็นค่าเริ่มต้น ดังนั้นเมื่อคอนเทนเนอร์ใหม่เขียนข้อมูลลงในบล็อกที่ถูกนำกลับมาใช้เพียงเล็กน้อย ส่วนที่เหลือของบล็อกจึงยังคงเก็บข้อมูลของคอนเทนเนอร์ก่อนหน้าไว้

เพื่อเข้าถึงข้อมูลนั้น นักวิจัยเขียนบล็อกขนาด 4 กิโลไบต์ลงในพื้นที่ที่ยังไม่ถูกใช้ แล้วอ่านบล็อกทั้งก้อนกลับมาในระดับดิสก์ดิบ (raw disk) พบว่าอีก 60 กิโลไบต์ที่ไม่ได้เขียนยังคงมีข้อมูลไบต์จากคอนเทนเนอร์ก่อนหน้าหลงเหลืออยู่ นักวิจัยยังระบุว่านี่เป็นการหลุดจากแซนด์บ็อกซ์โค้ดครั้งที่หกที่ตนเผยแพร่นับตั้งแต่เดือนกรกฎาคม ต่อจากการค้นพบใน Claude Cowork และ Claude Code ของ Anthropic เครื่องมือบรรทัดคำสั่งของ Cursor, Docker และ Codex ของ OpenAI

ผลกระทบ

ช่องโหว่นี้ทำลายขอบเขตการแยกข้อมูลระหว่างผู้เช่า (tenant) ซึ่งเป็นหลักประกันสำคัญของบริการคลาวด์แบบใช้ทรัพยากรร่วมกัน แม้ผู้โจมตีจะเลือกเป้าหมายไม่ได้และเข้าถึงได้เฉพาะข้อมูลที่ตกค้างอยู่แล้ว ไม่ใช่ภาระงานที่กำลังทำงาน แต่ข้อมูลที่กู้คืนได้ในการทดสอบกลับมีทั้งฐานข้อมูล SQLite ไฟล์ .env และไฟล์ข้อมูลรับรอง ซึ่งล้วนเป็นข้อมูลอ่อนไหวที่อาจเปิดทางไปสู่การเข้าถึงระบบอื่นต่อได้ ที่น่ากังวลเป็นพิเศษคือ Sandboxes ถูกวางขายเป็นที่รันโค้ดที่ไม่น่าเชื่อถือรวมถึงโค้ดจากตัวแทน AI จึงเป็นจุดที่โค้ดของผู้ไม่หวังดีอาจถูกใช้เก็บเกี่ยวข้อมูลตกค้างได้โดยตรง นอกจากนี้ Cloudflare ไม่ได้ระบุช่วงเวลาที่การตั้งค่าไม่ปลอดภัยเริ่มมีผล ทำให้ยังไม่ชัดว่าการเปิดเผยข้อมูลกินเวลานานเพียงใด

คำแนะนำ

  • ลูกค้าที่ใช้ Cloudflare Containers และ Sandboxes ไม่ต้องดำเนินการใด ๆ เนื่องจาก Cloudflare แก้ไขและล้างดิสก์ที่ค้างอยู่ทั้งหมดแล้ว
  • ทีมที่เคยเก็บข้อมูลอ่อนไหว เช่น ไฟล์ .env หรือข้อมูลรับรอง ไว้ในคอนเทนเนอร์ที่ใช้บริการร่วมกัน ควรพิจารณาหมุนเวียน (rotate) ข้อมูลรับรองเหล่านั้นเพื่อความปลอดภัย
  • โดยหลักการทั่วไป ควรหลีกเลี่ยงการฝังความลับไว้ในดิสก์ของคอนเทนเนอร์ และใช้บริการจัดการความลับ (secrets manager) แทน
  • ผู้ดูแลระบบที่ให้บริการรันโค้ดไม่น่าเชื่อถือบนโครงสร้างพื้นฐานร่วม ควรตรวจสอบว่าการนำบล็อกดิสก์กลับมาใช้ซ้ำมีการล้างข้อมูลก่อนเสมอ

แหล่งอ้างอิง