สรุปสั้น

บริษัท Miggo ซึ่งเป็นบริษัทความมั่นคงปลอดภัยไซเบอร์ เปิดเผยช่องโหว่ร้ายแรงใน RabbitMQ ซึ่งเป็น message broker โอเพนซอร์สยอดนิยมที่ทำหน้าที่กำหนดเส้นทาง จัดเก็บพัก และกระจายข้อความ เพื่อให้แอปพลิเคชันสื่อสารกันแบบไม่ประสานเวลา (Asynchronous) ช่องโหว่นี้ถูกติดตามในชื่อ CVE-2026-5721 มีคะแนนความรุนแรง CVSS 8.7 โดยเปิดทางให้ผู้โจมตีสามารถดึงค่า OAuth Secret ที่เป็นความลับของ broker ออกมาได้ ซึ่งอาจสร้างภัยคุกคามร้ายแรงต่อองค์กร

ต้นตอของปัญหาอยู่ที่ endpoint ที่ล้าสมัยในหน้าเว็บจัดการ (Management Web Interface) ของ RabbitMQ ซึ่งคืนค่า OAuth Secret ให้กับใครก็ตามโดยไม่ต้องยืนยันตัวตน (Authentication) ช่องโหว่นี้จะถูกกระตุ้นได้ในการตั้งค่าที่ผู้ดูแลระบบได้กำหนดรหัสผ่านลับของ broker ไว้สำหรับการยืนยันตัวตนกับผู้ให้บริการระบุตัวตน (Identity Provider) ตามที่ Miggo อธิบายว่าใครก็ตามที่เข้าถึงพอร์ตจัดการได้จะสามารถดึงค่านี้ออกมา แล้วในกรณีที่ OAuth Grant ทำให้ Secret นั้นใช้งานได้ ผู้โจมตีก็จะสวมรอยเป็น broker ต่อผู้ให้บริการระบุตัวตนเพื่อขอโทเคนระดับผู้ดูแลระบบได้

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

เว็บไซต์ SecurityWeek รายงานเมื่อวันที่ 13 กรกฎาคม พ.ศ. 2569 ว่าในการตั้งค่าที่ใช้ Secret ที่ถูกเปิดเผย ซึ่งเป็นมาตรฐานเมื่อมีการใช้ผู้ให้บริการ OAuth 2/OIDC อย่าง Auth0, Azure AD/Entra ID, Keycloak หรือ UAA ผู้โจมตีจะสามารถขอโทเคนระดับผู้ดูแลระบบมาควบคุมผู้ใช้ ข้อความ คิว (Queues) และการตั้งค่าของ broker ได้ทั้งหมด อย่างไรก็ตาม หากไม่มีการตั้งค่า Client Secret ระบบนั้นจะไม่ได้รับผลกระทบ เพราะไม่มี Secret ให้รั่วไหล และ RabbitMQ ที่ไม่ได้ติดตั้งปลั๊กอินจัดการ (Management Plugin) ก็ไม่ได้รับผลกระทบเช่นกัน

Miggo ระบุว่าความเสี่ยงจะสูงที่สุดในทุกจุดที่พอร์ตจัดการเข้าถึงได้จากเครือข่ายที่ไม่น่าเชื่อถือ เช่น การตั้งค่าแบบคลาวด์หรือแบบหลายผู้เช่า (Multi-Tenant) หรือหน้าจอจัดการที่ถูกเปิดสู่อินเทอร์เน็ตโดยไม่ตั้งใจ ช่องโหว่ CVE-2026-5721 ถูกใส่เข้ามาตั้งแต่ต้นปี 2024 ใน RabbitMQ เวอร์ชัน 3.13.0 และได้รับการแก้ไขแล้วในเวอร์ชัน 4.3.0, 4.2.6, 4.1.11, 4.0.20 และ 3.13.15

การอัปเดตดังกล่าวยังแก้ไขช่องโหว่ CVE-2026-57221 (CVSS 5.3) ระดับกลาง ซึ่งเป็นข้อบกพร่องด้านการขาดการตรวจสอบสิทธิ์ (Missing Authorization) ที่เปิดทางให้ผู้ใช้ที่ยืนยันตัวตนแล้วคนใดก็ได้สามารถแจกแจงรายการคิวและ Exchange พร้อมอ่านสถิติของสิ่งเหล่านั้น ตามข้อมูลของ Miggo ช่องโหว่นี้อาจถูกใช้ทำแผนที่ Virtual Host ขององค์กร อนุมานกิจกรรมทางธุรกิจ และรวบรวมข่าวกรองสำหรับการโจมตีในอนาคต ซึ่งเป็นความเสี่ยงต่อสภาพแวดล้อมแบบหลายผู้เช่าที่แชร์ Virtual Host เดียวกันระหว่างหลายแอปหรือหลายทีม

รายละเอียดช่องโหว่

จุดอ่อนหลักของ CVE-2026-5721 คือ endpoint ที่ถูกทิ้งไว้ในหน้าเว็บจัดการของ RabbitMQ ซึ่งออกแบบมาให้คืนค่า OAuth Secret โดยไม่ผ่านการตรวจสอบสิทธิ์ใด ๆ ทำให้ Secret ที่ควรเป็นความลับสูงสุดกลายเป็นข้อมูลที่ใครเข้าถึงพอร์ตจัดการได้ก็ดึงไปได้ เมื่อได้ Secret มาแล้ว ผู้โจมตีจะใช้ช่องทาง OAuth Grant สวมรอยเป็นตัว broker เองในการติดต่อกับผู้ให้บริการระบุตัวตน แล้วขอโทเคนระดับผู้ดูแลระบบกลับมา ซึ่งเท่ากับได้กุญแจควบคุมระบบส่งข้อความทั้งหมดขององค์กร

Miggo ตั้งข้อสังเกตว่าช่องโหว่ทั้งสองตัวของ RabbitMQ ไม่ใช่เรื่องแปลกใหม่หรือซับซ้อน แต่ฝังอยู่ในโค้ดเบสมานานกว่าสองปี เป็นความไม่สอดคล้องเชิงระบบที่เงียบเชียบซึ่งมักซ่อนอยู่ในซอฟต์แวร์ที่พัฒนามานานและใช้งานกันแพร่หลาย เป็นชนิดที่ผู้ตรวจสอบที่เป็นมนุษย์อ่านผ่านไป และเครื่องมือตรวจสอบแบบครั้งเดียวก็เทียบไม่ทันกับบริบทรอบข้างทั้งหมด แม้ปัจจุบันยังไม่มีหลักฐานการถูกโจมตีจริง แต่ความง่ายในการดึง Secret ทำให้ช่องโหว่นี้มีความเสี่ยงสูงหากถูกค้นพบโดยผู้ไม่หวังดี

ผลกระทบต่อไทย

RabbitMQ เป็นหนึ่งใน message broker ที่ถูกใช้อย่างแพร่หลายในระบบหลังบ้านขององค์กรไทยจำนวนมาก ทั้งภาคการเงิน อีคอมเมิร์ซ ผู้ให้บริการคลาวด์ และระบบไมโครเซอร์วิส (Microservices) ที่ต้องอาศัยการส่งข้อความระหว่างบริการ องค์กรที่ตั้งค่า RabbitMQ ให้ใช้ OAuth 2/OIDC ร่วมกับผู้ให้บริการระบุตัวตนอย่าง Azure AD/Entra ID หรือ Keycloak และเผลอเปิดพอร์ตจัดการสู่เครือข่ายที่ไม่น่าเชื่อถือ จะตกอยู่ในความเสี่ยงโดยตรง

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

คำแนะนำ

  1. อัปเดต RabbitMQ ทันที เป็นเวอร์ชัน 4.3.0, 4.2.6, 4.1.11, 4.0.20 หรือ 3.13.15 ที่แก้ช่องโหว่ทั้ง CVE-2026-5721 และ CVE-2026-57221 แล้ว
  2. หากยังแพตช์ไม่ได้ ให้บล็อกการเข้าถึงอินสแตนซ์ที่มีช่องโหว่ และตรวจสอบว่าหน้าจอจัดการ (Management Interface) ไม่ถูกเปิดสู่อินเทอร์เน็ตเด็ดขาด
  3. หมุนเวียนเปลี่ยน OAuth Client Secret ใหม่ เผื่อว่า Secret เดิมอาจถูกดึงออกไปแล้ว
  4. แบ่งแยกเครือข่าย (Segmentation) ให้พอร์ตจัดการเข้าถึงได้เฉพาะจากเครือข่ายที่เชื่อถือได้เท่านั้น โดยเฉพาะในสภาพแวดล้อมคลาวด์และแบบหลายผู้เช่า
  5. ตรวจสอบการตั้งค่า ว่าจำเป็นต้องเปิดปลั๊กอินจัดการและตั้ง Client Secret หรือไม่ หากไม่จำเป็นให้ปิดเพื่อลดพื้นผิวการโจมตี

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