Drupal AI แก้ 7 CVE ใน XSS, ผลค้นหาที่แคช และไฟล์เสียงชั่วคราว
Drupal AI ออกแพตช์ 1.4.11 และ 1.5.2 แก้ 7 CVE เพิ่มเติม รวมปัญหา XSS, ผลค้นหาที่แคชโดยไม่คำนึงสิทธิ์ และเสียง speech-to-text
Drupal AI แก้ 7 CVE: XSS, ข้อมูลค้นหารั่ว และไฟล์เสียงชั่วคราว
ทีมความปลอดภัย Drupal เผยแพร่ประกาศช่องโหว่ในโมดูล AI (Artificial Intelligence) หลายรายการเมื่อวันที่ 28 ตุลาคม 2026 บทความนี้ครอบคลุม 7 CVE ที่ยังไม่เคยนำมารายงาน ในชุดประกาศ SA-CONTRIB-2026-266 ถึง 273 โดยไม่รวม CVE-2026-118549 ซึ่งเคยรายงานแล้วในบทความ XSS ของ Drupal ก่อนหน้านี้ ปัญหาครอบคลุมการแสดง HTML และลิงก์ การตั้งค่า chatbot การแคชผลค้นหา การใช้ไฟล์เสียงชั่วคราว และสิทธิ์ของ text format ผู้ดูแลควรตรวจว่าระบบเปิด submodule ใดและใช้ฟีเจอร์ใดจริง เพราะเงื่อนไขของแต่ละรายการไม่เหมือนกัน
กรอบเวลา: ประกาศทั้งเจ็ดเผยแพร่ครั้งแรกบน Drupal.org วันที่ 28 ตุลาคม 2026 เวลา 17:08:44–17:10:21 UTC ระเบียน CVE เผยแพร่ครั้งแรกในระบบ CVE วันที่ 30 ตุลาคม 2026 เวลา 03:08:52–03:09:00 UTC แพตช์หลัก AI 1.4.11 และ 1.5.2 ออกวันที่ 28 ตุลาคม 2026 เวลา 11:04 และ 11:05 UTC ตามหน้า release ของ Drupal.org สำหรับปัญหา AI Search ยังมีแพตช์ของโมดูลแยก AI Search 1.3.0-alpha6 และ 2.0.0-alpha3 ออกวันเดียวกันเวลา 17:14 และ 17:15 UTC ตามลำดับ เวลาทั้งหมดอยู่ในช่วง 48 ชั่วโมงก่อนรอบตรวจนี้
ผลกระทบของแต่ละรายการ
CVE-2026-118545 — การแสดง HTML อาจทำให้เกิด XSS: บริการของโมดูล AI จำกัดการแสดง HTML ไม่เพียงพอในบางเงื่อนไข ผู้โจมตีต้องเข้าถึง text format ที่สามารถแสดง HTML ได้ก่อน จึงไม่ใช่การโจมตีจากผู้เยี่ยมชมทุกคนโดยไม่มีสิทธิ์ ประกาศต้นทาง: https://www.drupal.org/sa-contrib-2026-266
CVE-2026-118546 — AI Chatbot กรองข้อมูลก่อนแสดงผลไม่พอ: ภายใต้การตั้งค่าบางแบบ submodule AI Chatbot อาจแสดง input ที่ไม่ผ่านการกรองเพียงพอและก่อ XSS ได้ Drupal ระบุว่าผู้โจมตีต้องมีสิทธิ์จัดการบล็อก จึงควรทบทวน role ที่ได้รับสิทธิ์นี้เป็นพิเศษ ประกาศต้นทาง: https://www.drupal.org/sa-contrib-2026-267
CVE-2026-118548 — ลิงก์อาจนำข้อมูลอ่อนไหวไปยังเว็บไซต์ภายนอก: การตรวจลิงก์ในผลลัพธ์ที่แสดงเป็น HTML ไม่เพียงพอ อาจทำให้ข้อมูลบางส่วนถูกส่งไปยังเว็บไซต์ภายนอก เงื่อนไขคือมีการใช้แหล่งข้อมูลที่ไม่ไว้วางใจร่วมกับโมดูล AI ในลักษณะที่สร้าง HTML ที่ถูกแสดงผล ไม่ควรสรุปว่าการเรียก AI provider ทุกครั้งทำให้ข้อมูลรั่ว ประกาศต้นทาง: https://www.drupal.org/sa-contrib-2026-268
CVE-2026-118550 — AI Search แคชผลค้นหาโดยไม่คำนึงถึงสิทธิ์ผู้ดู: backend ของ AI Search ตรวจสิทธิ์ผลค้นหาต่อผู้ใช้ แต่เมื่อ Search API แคชผลของ view ข้อมูลบางส่วนจากเนื้อหาที่ไม่เผยแพร่หรือจำกัดสิทธิ์ เช่น ชื่อเรื่องและ field ที่แสดงใน view อาจถูกเห็นโดยผู้ไม่มีสิทธิ์ได้ ต้องเปิด AI Search submodule และใช้ Search API view ที่ตั้งค่าแคชแบบ time-based, tag-based หรือทั้งสองแบบ; ค่าเริ่มต้น Search API (none) ไม่ได้รับผลกระทบ อีกทั้งผู้มีสิทธิ์ต้องค้นคำเดียวกันภายในอายุแคชก่อน Drupal ระบุว่าเครื่องมือ RAG, AI Assistant RAG actions และ custom code ที่เรียก Search API queries ไม่ได้รับผลกระทบจากเส้นทางนี้ โมดูล AI Search แบบแยกก็มีปัญหาเดียวกัน ประกาศต้นทาง: https://www.drupal.org/sa-contrib-2026-270
CVE-2026-118551 — ไฟล์เสียง speech-to-text ค้างในไดเรกทอรีชั่วคราว: คำขอถอดเสียงทุกครั้งเขียนไฟล์เสียงชื่อเดียวกันใน temporary directory และไม่ลบหลังใช้งาน ผู้ที่อ่านไดเรกทอรีนี้ได้อาจเข้าถึงเสียงของผู้อื่น แต่ผู้โจมตีต้องมีสิทธิ์อ่านไฟล์ชั่วคราวผ่านเซิร์ฟเวอร์ โมดูล หรือโค้ดกำหนดเอง Drupal ระบุว่า route system.temporary ของ core ให้ไฟล์ชั่วคราวเฉพาะเจ้าของไฟล์เท่านั้น แพตช์เปลี่ยนไปเก็บเสียงในหน่วยความจำ และเว็บไซต์อาจตรวจลบไฟล์ speech_to_text.mp3 ที่หลงเหลืออยู่ใน temporary directory หลังประเมินความจำเป็นในการเก็บหลักฐาน ประกาศต้นทาง: https://www.drupal.org/sa-contrib-2026-271
CVE-2026-118552 — HTMX attributes ไม่ผ่านการกรองเพียงพอ: โมดูล AI ไม่ sanitize attribute บางชนิดของ HTMX อย่างเพียงพอ ทำให้เกิด XSS ได้ภายใต้เงื่อนไขที่ใช้ฟีเจอร์นี้ ผู้ดูแลควรทดสอบหน้าที่ใช้ HTMX และการแสดงผลหลังอัปเดต ประกาศต้นทาง: https://www.drupal.org/sa-contrib-2026-272
CVE-2026-118553 — AI Automator ตรวจสิทธิ์ text format ไม่พอ: submodule AI Automator เติม field อัตโนมัติจาก field อื่น โดยตรวจการเข้าถึง text format ไม่เพียงพอ ผู้ใช้จึงอาจสร้างข้อมูลใน text format ที่ตนไม่ควรใช้ได้ ซึ่ง Drupal จัดเป็น XSS ภายใต้เงื่อนไขที่เกี่ยวข้องกับสิทธิ์ของผู้ใช้และการแสดง field ประกาศต้นทาง: https://www.drupal.org/sa-contrib-2026-273
เวอร์ชันและการรับมือ
ประกาศของทั้งเจ็ดรายการแนะนำให้อัปเดต AI สาย 1.5.x เป็น 1.5.2 และ สาย 1.4.x เป็น 1.4.11; สาย 1.3.x ไม่ได้รับการสนับสนุนแล้ว จึงควรย้ายไปหนึ่งในสองเวอร์ชันดังกล่าว สำหรับ CVE-2026-118550 ที่ใช้ AI Search แบบแยก หากอยู่สาย 1.3.x ให้อัปเดตเป็น 1.3.0-alpha6 และหากอยู่สาย 2.0.x ให้อัปเดตเป็น 2.0.0-alpha3 ตามคำแนะนำของ Drupal หน้า release ของ AI: https://www.drupal.org/project/ai/releases/1.4.11 และ https://www.drupal.org/project/ai/releases/1.5.2 ส่วน AI Search: https://www.drupal.org/project/ai_search/releases/1.3.0-alpha6 และ https://www.drupal.org/project/ai_search/releases/2.0.0-alpha3
หลังอัปเดตควรตรวจ role ที่ใช้ HTML text format และจัดการบล็อก, การตั้งค่า AI Chatbot, view ของ AI Search ที่เปิดแคช, จุดแสดง Markdown/HTMX และไฟล์เสียงชั่วคราว ทดสอบการมองเห็นผลค้นหาด้วยบัญชีที่มีสิทธิ์ต่างกัน และตรวจบันทึกการเข้าถึงย้อนหลังตามข้อมูลที่ระบบเก็บไว้ อย่ารวม CVE-2026-118549 เข้าเป็นเลขใหม่ซ้ำในบทความนี้ แม้ใช้แพตช์ AI ชุดเดียวกัน ระเบียน CVE ของเจ็ดรายการตรวจได้ที่ https://www.cve.org/CVERecord?id=CVE-2026-118545, https://www.cve.org/CVERecord?id=CVE-2026-118546, https://www.cve.org/CVERecord?id=CVE-2026-118548, https://www.cve.org/CVERecord?id=CVE-2026-118550, https://www.cve.org/CVERecord?id=CVE-2026-118551, https://www.cve.org/CVERecord?id=CVE-2026-118552 และ https://www.cve.org/CVERecord?id=CVE-2026-118553