ข้ามไปยังเนื้อหา
กลับหน้ารายการบทความ

Changelog.com แก้ CVE-2026-119763 จำกัดหน้า preview ให้ผู้ดูแล

Changelog.com แก้หน้า preview ของโพสต์และข่าวที่ยังไม่เผยแพร่ หลังรายงาน CVE-2026-119763 ผู้ดูแลเปลี่ยนสิทธิ์เป็น admin และยืนยัน deploy แล้ว

Changelog.com แก้ CVE-2026-119763 จำกัดหน้า preview ให้ผู้ดูแล

Changelog.com ปรับสิทธิ์หน้า preview หลัง CVE-2026-119763 เปิดให้ดูเนื้อหาที่ยังไม่เผยแพร่

โครงการโอเพนซอร์สที่ขับเคลื่อนเว็บไซต์ Changelog.com แก้ CVE-2026-119763 ซึ่งเกี่ยวกับหน้า preview ของบทความ จดหมายข่าว และรายการข่าวที่ยังไม่เผยแพร่ เดิมเส้นทาง preview บางรายการโหลดข้อมูลโดยไม่ตรวจสิทธิ์ผู้เรียก ขณะที่หน้าอ่านเนื้อหาปกติมีตัวกรองสถานะเผยแพร่ ผู้ที่ไม่มีบัญชีจึงอาจเข้าถึงร่างหรือเนื้อหาที่ทีมงานยังไม่ตั้งใจเผยแพร่ได้เมื่อรู้หรือคาดเดาตัวระบุของรายการ

กรณีนี้มีบริบทสำคัญจากผู้ดูแลโครงการ: ทีมงานระบุว่าเดิม ตั้งใจให้ลิงก์ preview แชร์ต่อได้ แต่หลังได้รับรายงานจึงทบทวนนโยบายและเปลี่ยนให้เฉพาะผู้ดูแลระบบเข้าถึง พร้อมยืนยันว่า deploy การแก้ไขในระบบผลิตแล้ว บทความนี้จึงรายงานทั้งข้อค้นพบในระเบียน CVE และคำชี้แจงของผู้พัฒนา ไม่ตีความว่าเคยมีนโยบายห้ามแชร์ preview ก่อนการแก้ไข หรือว่ารายการที่ถูกเปิดดูทั้งหมดเป็นข้อมูลลับระดับเดียวกัน

ไทม์ไลน์จากรายงานและโค้ดต้นทาง

นักวิจัยเปิด issue สาธารณะใน repository ของโครงการวันที่ 29 ตุลาคม 2026 เวลา 14:24:37 UTC พร้อมลิงก์รายงานรายละเอียด นี่เป็นเวลาที่ตรวจยืนยันได้ว่าประเด็นถูกเปิดเผยต่อสาธารณะครั้งแรกในช่องทางของโครงการ Commit 7b35e82934be93e8b0064299a611c98d55b3e0eb ซึ่งมีข้อความว่า Restrict editorial previews to administrators ลงวันที่ 29 ตุลาคม 2026 เวลา 19:47:19 UTC ผู้ดูแลตอบใน issue เวลา 20:09:41 UTC ว่าได้จำกัด preview ให้ admin, deploy และตรวจใน production แล้ว จึงใช้วันที่ 29 ตุลาคมเป็นทั้งวันเปิดเผยและวันออกแพตช์

ระเบียน CVE Program สำหรับ CVE-2026-119763 เผยแพร่ครั้งแรกวันที่ 30 ตุลาคม 2026 เวลา 17:19:55 UTC ทั้งวันเปิดเผยครั้งแรกและวันเผยแพร่ระเบียน CVE อยู่ภายใน 48 ชั่วโมงก่อนรอบตรวจนี้ วันเปิด issue ไม่ใช่เพียงวันอัปเดตข่าวรอง แต่เป็นการรายงานสาธารณะที่ชี้ไปยังโค้ดและถูกตอบรับด้วยการเปลี่ยนแปลงของโครงการโดยตรง

เส้นทางที่เกี่ยวข้องและผลกระทบ

รายงานต้นทางและระเบียน CVE ระบุหน้า preview ใน PostController, NewsIssueController และ NewsItemController เป็นจุดสำคัญ ตัวอย่างเส้นทางที่รายงานคือ /posts/:id/preview, /news/issues/:id/preview และ /news/:id/preview เมื่อ controller โหลดระเบียนที่ยังไม่เผยแพร่โดยไม่มีการตรวจสิทธิ์แบบเดียวกับหน้า public show ผู้เรียกที่ไม่ได้เข้าสู่ระบบอาจเห็นร่างบทความ จดหมายข่าวที่ยังไม่ส่ง หรือข่าวที่ถูกปฏิเสธการเผยแพร่

ตัวระบุบางประเภทไม่ได้เป็นความลับที่คาดเดาไม่ได้ รายงานระบุว่ารายการข่าวบางชนิดใช้เลขลำดับหรือ slug ที่ไล่ตรวจได้ ส่วน post ใช้ hashid จึงไม่ควรถือว่าการมี URL ยาวหรือมีรูปแบบเฉพาะเป็นการกำหนดสิทธิ์ที่เพียงพอ หาก preview ถูกออกแบบให้แชร์ด้วยลิงก์จริง ผู้ดูแลก็ต้องตัดสินใจอย่างชัดเจนว่ารับความเสี่ยงจากการคาดเดาหรือการส่งต่อ URL ได้แค่ไหน กรณีนี้โครงการตัดสินใจเปลี่ยนไปใช้การตรวจสิทธิ์ผู้ดูแล

ผลกระทบที่ยืนยันได้คือ การเปิดอ่านเนื้อหาที่ยังไม่เผยแพร่ ไม่ใช่การแก้ไขเนื้อหา การยึดบัญชี หรือการรันโค้ดบนเซิร์ฟเวอร์ ระเบียน CVE ระบุช่วงที่ได้รับผลเป็นซอร์สโค้ดของ changelog.com ก่อน commit 7b35e82934be93e8b0064299a611c98d55b3e0eb และใช้ commit นี้เป็นจุดแก้ไข ไม่มีเลขรุ่นแพ็กเกจแยกต่างหากในแหล่งต้นทางที่ตรวจได้ จึงต้องเทียบ commit หรือสถานะ deploy จริง ไม่ควรแต่งเลขเวอร์ชันขึ้นมา

โครงการแก้อย่างไร

Commit แก้ไขเพิ่มการตรวจสิทธิ์ admin ให้เส้นทาง preview ของเนื้อหา editorial และจัดการเส้นทางที่ส่งภาพหรือเล่น episode โดยตรวจสถานะเผยแพร่ก่อนใช้ข้อมูล หากยังไม่เผยแพร่จะต้องผ่านการตรวจสิทธิ์ก่อนจึงโหลดข้อมูลได้ โค้ดยังเพิ่มการทดสอบว่า anonymous และบัญชีที่ไม่ใช่ admin ถูกปฏิเสธจาก preview ขณะที่เนื้อหาที่เผยแพร่แล้วต้องยังเปิดได้ผ่าน public routes ตามปกติ

ผู้ดูแลโครงการระบุใน issue ว่าได้ deploy การเปลี่ยนแปลงและตรวจใน production แล้วเมื่อ 29 ตุลาคม 2026 ดังนั้นคำว่า “แพตช์” ในข่าวนี้หมายถึง commit และการ deploy ของเว็บไซต์ที่ผู้ดูแลยืนยัน ไม่ใช่การออก release package แบบซอฟต์แวร์ที่ติดตั้งแยก หากผู้ใด fork ซอร์สของ changelog.com ไปโฮสต์เอง ต้องตรวจว่า branch ของตนรวม commit ดังกล่าวหรือมีมาตรการสิทธิ์เทียบเท่า และต้อง deploy โค้ดที่แก้แล้วด้วย

สิ่งที่ผู้ดูแลเว็บไซต์ลักษณะเดียวกันควรตรวจ

เว็บไซต์ที่มีระบบ editorial preview ควรระบุให้ชัดว่า preview เป็นหน้าสำหรับผู้ดูแลเท่านั้น หรือเป็นลิงก์ที่แชร์ได้ จากนั้นตรวจ controller และ asset routes ทุกเส้นทางว่าใช้กฎเดียวกันกับความตั้งใจนั้น การปิดหน้า HTML preview เพียงหน้าเดียวอาจไม่พอหากยังมีเส้นทาง image, embed หรือ play ที่โหลดข้อมูล draft ได้ ควรทดสอบด้วยผู้ใช้ไม่เข้าสู่ระบบ ผู้ใช้ทั่วไป และ admin พร้อมตรวจ header สำหรับการแคชเนื้อหาที่ไม่ได้เผยแพร่

สำหรับ Changelog.com เอง ผู้ใช้ทั่วไปไม่ต้องอัปเดตโปรแกรมบนเครื่อง ผู้ดูแลเว็บไซต์ได้ยืนยันการ deploy แล้ว แต่หากองค์กรใช้ fork ของซอร์สนี้ ควรนำ commit แก้ไขเข้าระบบ ทดสอบการเข้าถึง preview ทุกประเภท และทบทวนว่าร่างเนื้อหาที่เคยเข้าถึงได้ควรถือว่าเปิดเผยไปแล้วหรือไม่ตามข้อมูลและรูปแบบการแจกจ่าย URL จริง ไม่ควรสรุปว่ามีการอ่านข้อมูลเกิดขึ้นโดยไม่มี log หรือหลักฐานประกอบ

แหล่งข้อมูลต้นทาง