
AI Gateway ของ GitLab เปิดช่องให้การกำหนดค่า Flow ที่สร้างขึ้นอย่างจงใจหลุดออกจาก Prompt Sandbox ของตน
- Orcaใหม่Orca: OrcaCyber Ultra 1.02026-10-17$5.00 / $10.00 ต่อ 1 ล้านโทเค็น · 13 tok/s
- deepseekใหม่DeepSeek: DeepSeek V4.1 Flash 10172026-10-1745ความฉลาด
- DeepSeekใหม่DeepSeek: DeepSeek V4.1 Flash2026-10-1740ความฉลาด
- Orcaใหม่Orca: OrcaCyber Zero 1.52026-10-10$3.00 / $7.50 ต่อ 1 ล้านโทเค็น · 155 tok/s
- openaiOpenAI: GPT-6.1 Sol2026-09-2952ความฉลาด
- anthropicAnthropic: Claude Sonnet 5.52026-09-2856ความฉลาด
- typesafeTypeSafe: Jev 1.132026-09-24$0.04 / $0.00 ต่อ 1 ล้านโทเค็น · 971 tok/s
- OpenAIOpenAI: GPT-6 Luna2026-09-2238ความฉลาด
- OpenAIOpenAI: GPT-6 Sol2026-09-2248ความฉลาด
- AnthropicAnthropic: Claude Opus 5.52026-09-2258ความฉลาด
- xAIGrok 4.72026-09-2146ความฉลาด
- OrcaOrca: OrcaCyber Zero 1.02026-09-17$3.00 / $7.50 ต่อ 1 ล้านโทเค็น · 104 tok/s
- OrcaOrca: OrcaVerify Text 1.02026-09-16$2.00 / $0.00 ต่อ 1 ล้านโทเค็น · 964 tok/s
- OpenAIOpenAI: GPT-6 Astra2026-09-0453ความฉลาด77การเขียนโค้ด
- GoogleGoogle: Gemini 3.8 Flash2026-09-0241ความฉลาด76การเขียนโค้ด
- AlibabaQwen: Qwen3.8 Max (0902)2026-09-0245ความฉลาด76การเขียนโค้ด
- AnthropicAnthropic: Claude Fable 5.12026-09-0153ความฉลาด82การเขียนโค้ด
- TencentTencent: Hy4 preview2026-08-28$0.83 / $2.50 ต่อ 1 ล้านโทเค็น · 49 tok/s
- AlibabaQwen: Qwen3.8 Flash2026-08-26$0.15 / $0.47 ต่อ 1 ล้านโทเค็น · 100 tok/s
- z-aiZ.ai: GLM 5.3 Flash2026-08-2642ความฉลาด72การเขียนโค้ด
เมื่อวันที่ 2 ตุลาคม 2026 GitLab ได้เผยแพร่รีลีสแพตช์ระดับวิกฤตสำหรับ AI Gateway ของตน — มิดเดิลแวร์ที่ส่งต่อคำขอระหว่างอินสแตนซ์ GitLab กับโมเดลภาษาที่ฟีเจอร์ Duo เรียกใช้ — โดยระบุชื่อCVE-2026-90970และให้คะแนน 9.9 จาก 10 ช่องโหว่นี้ ตามคำกล่าวของ GitLab เอง อาจทำให้ "ผู้ใช้ที่ผ่านการยืนยันตัวตนซึ่งมีสิทธิ์เข้าถึง Duo Agent Platform สามารถหลบหนีแซนด์บ็อกซ์ของเทมเพลตพรอมต์ผ่านการกำหนดค่าโฟลว์ที่สร้างขึ้นเป็นพิเศษ นำไปสู่การรันคำสั่งโดยพลการบน AI Gateway" มีเพียงองค์กรที่ใช้งาน AI Gateway แบบโฮสต์เองเท่านั้นที่ต้องดำเนินการ: GitLab ได้แก้ไขเกตเวย์ที่ตนให้บริการสำหรับ GitLab.com, GitLab Dedicated และลูกค้าแบบ self-managed ที่ใช้เกตเวย์ที่ GitLab โฮสต์ไว้แล้ว และระบุไว้ในคำแนะนำดังกล่าว ประกาศของ GitLab ไม่ได้กล่าวว่าช่องโหว่นี้เคยถูกใช้ประโยชน์ และการประเมินที่แนบมากับบันทึก CVE โดย US Cybersecurity and Infrastructure Security Agency ในวันเดียวกันระบุการถูกใช้ประโยชน์เป็น "none" เครดิตสำหรับการค้นพบนี้เป็นของนักวิจัย HackerOne ที่รู้จักในชื่อ invisiblemeerkat คำแนะนำของ GitLab บันทึก NVD และการรายงานที่ตามมามีความสอดคล้องกันเกี่ยวกับว่าช่องโหว่คืออะไรและเวอร์ชันใดมีช่องโหว่นี้; พวกเขาสอดคล้องกันเช่นเดียวกันเกี่ยวกับสิ่งที่ยังไม่ทราบ นั่นคือมีใครเคยใช้ช่องโหว่นี้หรือไม่ บันทึกนี้อยู่เคียงข้างช่องโหว่ด้านโครงสร้างพื้นฐานของเอเจนต์อื่น ๆ ที่มีการบันทึกไว้ในคลังเหตุการณ์ AI ซึ่งแต่ละรายการมีแหล่งที่มา ระดับความรุนแรง เกรดความเชื่อมั่น และแฟล็กข้อโต้แย้งของตนเอง
สิ่งที่คำเตือนนั้นระบุจริง ๆ และสิ่งที่มันละเว้นไว้
คำแนะนำนี้สั้น เผยแพร่บนเว็บไซต์เอกสารของ GitLab ภายใต้ชื่อเรื่อง "การเปิดตัวแพตช์สำคัญของ GitLab AI Gateway: 19.2.4, 19.3.2 และ 19.4.1" โดยระบุการแก้ไขด้านความปลอดภัยหนึ่งรายการ ภายใต้หัวข้อ "ปัญหาการทำให้เป็นกลางอย่างไม่เหมาะสมในเทมเพลตพรอมต์ของโฟลว์แบบกำหนดเองส่งผลกระทบต่อ AI Gateway" และทำเครื่องหมายระดับวิกฤต โดยให้เวกเตอร์ CVSS 3.1 เป็น AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H — เข้าถึงได้ผ่านเครือข่าย ความซับซ้อนในการโจมตีต่ำ ต้องใช้สิทธิ์ต่ำ ไม่ต้องมีการโต้ตอบจากผู้ใช้ ขอบเขตเปลี่ยนแปลง และผลกระทบสูงต่อการรักษาความลับ ความถูกต้องสมบูรณ์ และความพร้อมใช้งาน เวกเตอร์นี้น่าอ่านเพราะระบุเกี่ยวกับผู้โจมตีได้อย่างแม่นยำ: สิทธิ์ต่ำ แต่ก็ยังเป็นสิทธิ์อยู่ดี คำแนะนำระบุว่า "ผู้ใช้ที่ได้รับการยืนยันตัวตนแล้วซึ่งมีสิทธิ์เข้าถึง Duo Agent Platform" และจบเพียงเท่านั้น ไม่ได้ระบุชื่อบทบาท สิทธิ์ หรือเงื่อนไขที่วลี "ภายใต้เงื่อนไขบางประการ" ของตนเองหมายถึง
เอกสารดังกล่าวไม่ได้เผยแพร่ proof of concept ไม่ได้อธิบายการกำหนดค่าโฟลว์ที่สร้างขึ้นมา และไม่ได้เสนอวิธีเลี่ยงชั่วคราวสำหรับเกตเวย์ที่ไม่สามารถอัปเดตได้ในทันที The Hacker News ในรายงานฉบับวันที่ 2 ตุลาคม สังเกตเห็นการขาดหายไปแบบเดียวกัน และเพิ่มอีกประเด็นหนึ่งซึ่งสำคัญในเชิงปฏิบัติการ: คำแนะนำดังกล่าวไม่มีวิธีตรวจสอบว่าเกตเวย์ถูกโจมตีก่อนที่จะได้รับการแพตช์หรือไม่ Security Affairs ซึ่งเขียนในวันถัดมา บันทึกช่องว่างเดียวกัน
รายการการแจกแจงจุดอ่อนทั่วไปที่แนบมากับ CVE คือ CWE-1336 การทำให้องค์ประกอบพิเศษที่ใช้ในเอนจินเทมเพลตเป็นกลางอย่างไม่ถูกต้อง คำแนะนำของ GitLab ไม่เคยใช้คำว่า Jinja แต่เอกสารในรีโพซิทอรีของ AI Gateway เองกลับใช้ โดยเอกสาร prompt-registry อธิบายไฟล์การกำหนดค่าพรอมต์ที่ "รองรับนิพจน์ Jinja สำหรับหลายบทบาท เช่น ผู้ใช้และระบบ" และอธิบายคลาส Prompt ที่ "ใช้ Jinja เพื่อแทรกค่าลงในเทมเพลตพรอมต์ด้วยอาร์กิวเมนต์อินพุต" ช่องว่างที่ CVE อธิบายคือสิ่งที่เอนจินประเภทนี้มีชื่อเสียงในเรื่องนี้ — ข้อความที่ผู้ใช้ป้อนไปถึงเทมเพลตที่ถูกประเมินค่ามิใช่ถูกพิมพ์ออกมา
ทำไมคำสั่งบนโฮสต์เฉพาะนี้จึงมีค่า 9.9
AI Gateway ไม่ใช่ sidecar ตามเอกสารการติดตั้งใช้งานแบบโฮสต์เองของ GitLab ระบบนี้รับคำขอจาก GitLab ประกอบพรอมต์ และสื่อสารกับแบ็กเอนด์ของโมเดล — เซิร์ฟเวอร์ vLLM, Amazon Bedrock, Azure OpenAI หรือผู้ให้บริการภายนอก — และในการติดตั้งใช้งานแบบโฮสต์เองเต็มรูปแบบ ระบบนี้คือองค์ประกอบที่ทำให้พรอมต์และคำตอบอยู่ภายในเครือข่ายขององค์กรเอง คู่มือการติดตั้ง AI Gateway ของ GitLab ยังแจ้งผู้ดูแลระบบให้สร้างคู่คีย์สำหรับลงนาม และส่งคีย์ทั้งสองส่วนให้บริการเป็นตัวแปรสภาพแวดล้อม โดยใช้ชื่อ AIGW_SELF_SIGNED_JWT__SIGNING_KEY และ AIGW_SELF_SIGNED_JWT__VALIDATION_KEY (พร้อมตัวแปรที่เทียบเท่าสำหรับ Duo Workflow) Security Affairs ระบุผลลัพธ์ไว้อย่างชัดเจนว่า การรันคำสั่งบน Gateway ทำให้ผู้โจมตีเข้าสู่โฮสต์ที่เก็บข้อมูลสำหรับลงนาม JWT และอยู่ในเส้นทางระหว่างอินสแตนซ์ GitLab กับโครงสร้างพื้นฐานของโมเดล
นั่นคือความแตกต่างระหว่างการหลุดออกจากแซนด์บ็อกซ์ในระบบของเล่นกับในระบบใช้งานจริง การหลุดออกนั้นไม่จำเป็นต้องไปถึงโมเดล แต่ต้องไปถึงโปรเซสที่ถือคีย์ซึ่งใช้ลงนามในการเรียกโมเดล
เอกสารผลิตภัณฑ์ของ GitLab ซึ่งแยกจากคำแนะนำด้านความปลอดภัย ระบุว่า การสร้างหรือแก้ไข custom flow ต้องมีบทบาท Maintainer หรือ Owner ในโปรเจกต์ที่ดูแล และการรัน flow ต้องมีบทบาท Developer หรือสูงกว่า คำแนะนำดังกล่าวไม่ได้ยืนยันการจับคู่บทบาทนั้น และ The Hacker News ตั้งข้อสังเกตว่าไม่มีการระบุบทบาทใดนอกเหนือจาก "Duo Agent Platform access" ผู้อ่านที่ประเมินความเสี่ยงของตนเองควรถือว่าเอกสารผลิตภัณฑ์คือโมเดลสิทธิ์ของผลิตภัณฑ์ และความเงียบของคำแนะนำก็คือความเงียบอย่างแท้จริง ไม่ใช่ความขัดแย้ง
สร้างแล้ว และยังไม่ได้สร้าง
ฟิลด์ของระเบียนเองสอดคล้องกับทุกอย่างข้างต้น และไม่ได้เพิ่มสิ่งใดที่ไม่มีอยู่ในคำแนะนำ สิ่งที่ตามมาคือการแยกส่วนที่ผู้อ่านไม่สามารถได้รับจากบทสรุปหนึ่งบรรทัด
• ยืนยันแล้ว:ช่องโหว่ระดับวิกฤตใน GitLab AI Gateway ซึ่งเปิดเผยเมื่อวันที่ 2 ตุลาคม 2026 CVSS 9.9 CWE-1336 ผู้ใช้ Duo Agent Platform ที่ผ่านการยืนยันตัวตนสามารถเข้าถึงได้ผ่านการกำหนดค่ากระแสงานที่สร้างขึ้นเป็นพิเศษ ส่งผลให้เกิดการรันคำสั่งบนโฮสต์ของเกตเวย์
• ระบุ: ช่วงที่ได้รับผลกระทบ — AI Gateway ทุกเวอร์ชันตั้งแต่ 18.1.6 ถึงก่อน 19.2.4, 19.3 ถึงก่อน 19.3.2 และ 19.4 ถึงก่อน 19.4.1 — และเวอร์ชันที่แก้ไขแล้ว ได้แก่ 19.2.4, 19.3.2 และ 19.4.1
• ยืนยันแล้ว:เกตเวย์ที่โฮสต์โดย GitLab ได้รับการแพตช์ก่อนการเผยแพร่ และลูกค้าของเกตเวย์เหล่านี้ไม่จำเป็นต้องดำเนินการใด ๆ; ผู้ดูแลระบบที่โฮสต์เองได้รับการติดต่อโดยตรงก่อนโพสต์ประกาศเปิดตัว ซึ่ง GitLab ระบุไว้ในคำแนะนำด้านความปลอดภัยเอง
• ยืนยันแล้ว: เครดิตผู้รายงาน คือ invisiblemeerkat และการไม่มีข้อความใด ๆ ที่ระบุถึงการถูกใช้ประโยชน์ในสภาพจริง
• ยังไม่ได้รับการยืนยัน:ว่ามีผู้ใดใช้ประโยชน์จากช่องโหว่นี้หรือไม่ การประเมิน SSVC ของ CISA ลงวันที่ 2 ตุลาคม 2026 และปรากฏในบันทึก NVD ระบุการถูกใช้ประโยชน์เป็น "none" ความสามารถในการทำงานอัตโนมัติเป็น "no" และผลกระทบทางเทคนิคเป็น "total"; แคตตาล็อก Known Exploited Vulnerabilities ของ CISA ไม่ได้ระบุ CVE-2026-90970 ในการแก้ไขปรับปรุงวันที่ 20 ตุลาคม 2026 ซึ่งฉันตรวจสอบโดยตรง โมเดล EPSS ของ FIRST ให้ความน่าจะเป็นการถูกใช้ประโยชน์ภายใน 30 วันถัดไปอยู่ที่ 0.94 เปอร์เซ็นต์ ณ วันที่ 21 ตุลาคม 2026 — ต่ำ และไม่ใช่ศูนย์
• ยังไม่เป็นที่ยืนยัน:มีเกตเวย์ที่โฮสต์เองอยู่จำนวนเท่าใด มีจำนวนเท่าใดที่ถูกเปิดเผย หรือมีเกตเวย์ใดถูกโจมตีก่อนการแพตช์หรือไม่ ไม่มีแหล่งข้อมูลใดในบันทึกนี้ที่ระบุจำนวน และคำแนะนำของ GitLab ไม่ได้ระบุวิธีการตรวจจับ

ช่วงที่ได้รับผลกระทบ และเวอร์ชันที่ไม่มีการระบุการแก้ไขไว้
การคำนวณเวอร์ชันนั้นไม่เป็นระเบียบเรียบร้อยเท่าที่รีลีสที่แก้ไขแล้วทั้งสามรายการบ่งชี้ ช่วงที่ได้รับผลกระทบเริ่มต้นที่ 18.1.6 และไม่มีการเผยแพร่รีลีสที่แก้ไขแล้วในสายเวอร์ชันใดที่ต่ำกว่า 19.2.4 ดังนั้นเกตเวย์ทุกรายการตั้งแต่ 18.1.6 ไปจนถึงซีรีส์ 19.1 จึงอยู่ในช่วงที่ได้รับผลกระทบตามที่ระบุ โดยไม่มีเวอร์ชันที่แพตช์แล้วระบุชื่อไว้สำหรับช่วงนั้น The Hacker News ชี้ให้เห็นผลลัพธ์เดียวกันและคำถามที่ตามมา: เอกสารการติดตั้งของ GitLab บอกผู้ดูแลระบบให้รันอิมเมจเกตเวย์ที่มีเวอร์ชันตรงกับเวอร์ชันไมเนอร์ของ GitLab ของตน และประกาศคำแนะนำไม่ได้ระบุว่าเกตเวย์ 19.2.4 ทำงานกับ GitLab 19.1 หรือเวอร์ชันก่อนหน้าหรือไม่ หรือมีการวางแผนแก้ไขสำหรับสายเวอร์ชันเก่ากว่าหรือไม่ นโยบายเวอร์ชันที่รองรับของ GitLab ตามที่ The Hacker News ระบุ ปัจจุบันมีรายการ 19.4, 19.3 และ 19.2 ซึ่งเป็นสามสายเวอร์ชันเดียวกับที่ได้รับการแก้ไข
การแก้ไขคือการสลับคอนเทนเนอร์而非การแพตช์: Gateway จัดส่งเป็นอิมเมจ Docker ของตัวเองหรือ Helm chart คู่มือการติดตั้งของ GitLab อธิบายถึงการหยุดและลบคอนเทนเนอร์ที่กำลังทำงานอยู่ การดึงอิมเมจใหม่ด้วยแท็ก self-hosted-vX.Y.Z-ee และการเริ่มต้นอีกครั้งโดยที่ตัวแปรสภาพแวดล้อมยังคงอยู่ intact; การติดตั้งด้วย Helm จะตั้งค่าแท็กในฟิลด์ image ของ chart ทั้งประกาศด้านความปลอดภัยและคู่มือการติดตั้งไม่ได้มีลายเซ็นหรือตัวบ่งชี้ใด ๆ ที่จะแยกแยะ Gateway ที่ถูกโจมตีออกจาก Gateway ที่สะอาดได้

บั๊กประเภทเดียวกัน เมื่อแปดเดือนก่อน
นี่ไม่ใช่ครั้งแรกที่ GitLab ออกเผยแพร่คะแนน 9.9 สำหรับช่องโหว่การแทรกแม่แบบ (template injection) ใน AI Gateway เมื่อวันที่ 6 กุมภาพันธ์ 2026 ได้เปิดตัว AI Gateway 18.6.2, 18.7.1 และ 18.8.1 สำหรับ CVE-2026-1868 ซึ่งในประกาศดังกล่าวอธิบายว่าเป็น "ปัญหาการขยายแม่แบบที่ไม่ปลอดภัย" โดยคอมโพเนนต์ Duo Workflow Service "มีช่องโหว่ต่อการขยายแม่แบบข้อมูลที่ผู้ใช้จัดหาให้อย่างไม่ปลอดภัยผ่านคำนิยาม Duo Agent Platform Flow ที่ถูกสร้างขึ้นมา" ซึ่งสามารถนำไปใช้ในการปฏิเสธการให้บริการหรือการรันโค้ดบนเกตเวย์ได้ เวกเตอร์ CVSS เหมือนกับของเดือนตุลาคมทุกตัวอักษร และ CWE ก็เช่นกัน ผู้รายงานแตกต่างออกไป: ช่องโหว่นั้นถูกพบภายในโดยสมาชิกทีม GitLab ชื่อ Joern Schneeweisz
คำแนะนำในเดือนตุลาคมไม่ได้กล่าวถึงคำแนะนำในเดือนกุมภาพันธ์ และ The Hacker News กล่าวไว้อย่างชัดเจนว่าเป็นเช่นนั้น การที่ทั้งสองมีสาเหตุร่วมกัน มีการแก้ไขที่ไม่คงอยู่ หรือเพียงแค่มีภาษาและแบบจำลองภัยคุกคามร่วมกัน ไม่ใช่สิ่งที่เอกสารสาธารณะใดให้คำตอบ สิ่งที่บันทึกไว้คือเอ็นจินเทมเพลตในคอมโพเนนต์มิดเดิลแวร์ AI ได้สร้างคำแนะนำด้านความปลอดภัยเกี่ยวกับการรันคำสั่งระดับวิกฤตสองรายการด้วยคะแนนเดียวกันในปีเดียวกัน และรายการที่สองต้องอาศัยนักวิจัยภายนอกในการค้นพบ
มีอะไรเปลี่ยนแปลงไป และผู้ให้บริการยังเหลืออะไรให้ต้องตัดสินใจ
การเปลี่ยนแปลงที่ชัดเจนคือแท็กอิมเมจสามรายการและการติดต่อลูกค้าโดยตรงหนึ่งรอบ GitLab กล่าวว่าได้ติดต่อลูกค้าที่ใช้เกตเวย์แบบโฮสต์เองก่อนเผยแพร่ และคำแนะนำด้านความปลอดภัยได้รับการเผยแพร่พร้อมกับอิมเมจที่แก้ไขแล้วในวันเดียวกัน สำหรับทุกคนอื่น ๆ — GitLab.com, GitLab Dedicated และอินสแตนซ์ที่จัดการเองซึ่งชี้ไปยังเกตเวย์ที่ GitLab โฮสต์ — ได้มีการนำการแก้ไขไปใช้ฝั่งเซิร์ฟเวอร์แล้ว และตามที่ GitLab ระบุ ไม่มีอะไรที่ต้องดำเนินการ
สำหรับผู้ดูแลที่โฮสต์เอง การตัดสินใจนี้แคบกว่าและไม่สบายใจกว่าวงรอบการแพตช์ปกติ ไม่มีวิธีเลี่ยงสำหรับเกตเวย์ที่ไม่สามารถย้ายได้ทันที และไม่มีวิธีการที่เผยแพร่แล้วสำหรับตรวจสอบว่าโฮสต์ถูกบุกรุกมาก่อนหรือไม่ ซึ่งหมายความว่าทางเลือกย้อนหลังเพียงอย่างเดียวคือทางเลือกธรรมดา คือปฏิบัติต่อคอนเทนเนอร์เป็นระบบที่ยังพิสูจน์ความสมบูรณ์ไม่ได้ และมองหาสัญญาณของการถูกเรียกใช้งานนอกพฤติกรรมปกติของมัน และสำหรับเกตเวย์บน 18.x หรือ 19.1 คำประกาศไม่ได้ระบุเวอร์ชันเป้าหมายไว้เลย — ซึ่งเป็นการละเว้นที่ The Hacker News รายงาน และประกาศของ GitLab ไม่ได้กล่าวถึง
การจัดประเภทของคลังข้อมูลเองนั้นจงใจให้แคบกว่าของผู้จำหน่าย โดยบันทึกรายการนี้เป็นช่องโหว่ ด้วยระดับความมั่นใจ A โดยแหล่งข้อมูลเห็นพ้องต้องกัน ไม่มีข้อโต้แย้ง ไม่มีการบันทึกความเสียหายที่แท้จริง และฟิลด์ความรุนแรงเป็น "high" เมื่อเทียบกับ "critical" ของ GitLab และ NVD สิ่งเหล่านี้เป็นคำตอบของคำถามที่ต่างกัน: คะแนนอธิบายว่าข้อบกพร่องนั้นจะเปิดโอกาสให้เกิดอะไรได้ และเกรดของคลังข้อมูลอธิบายสิ่งที่รู้ว่าเกิดขึ้นจริง ตามบันทึกสาธารณะ ไม่มีอะไรเกิดขึ้น — ไม่มีการใช้ช่องโหว่ ไม่มีผู้เสียหาย ไม่มีรายงานเหตุการณ์ คุณค่าของรายการนี้อยู่ที่การบันทึกไว้อย่างชัดเจน พร้อมหมายเลข CVE และเวอร์ชันที่แก้ไขแล้ว ว่าเทมเพลตพรอมต์กลายเป็นบรรทัดคำสั่งในมิดเดิลแวร์ที่ฟีเจอร์ AI ระดับองค์กรต้องพึ่งพาได้อย่างไร

