ข้ามไปเนื้อหาหลัก

Prefab UI 0.21 อัปเดตด่วน: ช่องโหว่ CVSS 10.0 เปิดทางอ่านเขียนไฟล์เซิร์ฟเวอร์

JFrog เผยช่องโหว่รุนแรงระดับสูงสุด CVSS 10.0 ใน Prefab UI เวอร์ชัน 0.14.0-0.20.2 เปิดทางให้รันโค้ดอ่านและเขียนไฟล์บนโฮสต์ได้ อัปเดตด่วนเป็น 0.21.0 หรือสูงกว่า

เรียบเรียงโดย AI
Inewgen
02 Nov 2026ที่มา: Dev.to3 นาทีอ่าน (0 ครั้ง)
แชร์
Prefab UI 0.21 อัปเดตด่วน: ช่องโหว่ CVSS 10.0 เปิดทางอ่านเขียนไฟล์เซิร์ฟเวอร์

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง

ขนาดตัวอักษร
  • Prefab UI เวอร์ชัน 0.14.0 ถึง 0.20.2 มีช่องโหว่ความรุนแรงระดับ CVSS 10.0
  • โค้ดใน Sandbox สามารถอ่านและเขียนไฟล์บนโฮสต์เซิร์ฟเวอร์ได้โดยตรง
  • ช่องโหว่นี้เกิดจากการตั้งค่าสิทธิ์ Deno ที่กว้างเกินไปและการเข้าถึง API ผ่าน Pyodide
  • แพตช์แก้ไขถูกปล่อยออกมาแล้วในเวอร์ชัน 0.21.0 และ 0.21.1 ผู้ดูแลระบบควรอัปเดตทันที

เมื่อวันที่ 1 พฤศจิกายน JFrog Security Research ได้เผยแพร่รายงานช่องโหว่ CVE-2026-120338 ซึ่งส่งผลกระทบต่อ Prefab UI ซึ่งเป็นเฟรมเวิร์ก Generative UI จาก PrefectHQ โดยทาง GitHub advisory ได้จัดระดับความรุนแรงของช่องโหว่นี้ไว้ที่ CVSS 10.0 สูงสุด โดยในเวอร์ชันตั้งแต่ 0.14.0 ถึง 0.20.2 ผู้ใช้งานที่สามารถส่งโค้ดเข้าไปยัง Generative UI sandbox สามารถอ่านและเขียนไฟล์บนเครื่องโฮสต์ได้ทันที

ทาง PrefectHQ ได้ออกแพตช์แก้ไขเรียบร้อยแล้ว โดยเวอร์ชัน 0.21.0 ถูกปล่อยออกมาตั้งแต่วันที่ 26 ตุลาคม ซึ่งเป็นเวลาก่อนที่ CVE จะเปิดเผยต่อสาธารณะ 6 วัน และตามมาด้วยเวอร์ชัน 0.21.1 ในวันเดียวกัน หากคุณใช้งาน FastMCP ร่วมกับการเปิดใช้งาน Generative UI นี่คือสิ่งที่คุณต้องตรวจสอบเป็นอันดับแรก

ช่องโหว่นี้แสดงให้เห็นถึงความท้าทายคลาสสิกของการสร้าง Sandbox สำหรับรันโค้ดที่สร้างโดยปัญญาประดิษฐ์ (AI) แม้ว่าทางทฤษฎีจะมีการแยกระดับความปลอดภัยไว้หลายชั้น เช่น การใช้ Pyodide (Python บน WebAssembly) รันใน Deno subprocess แต่หากการตั้งค่าเริ่มต้นของเครื่องมือพื้นฐานยังอนุญาตสิทธิ์การเข้าถึงไฟล์และระบบเครือข่ายแบบไม่จำกัด (Unrestricted permissions) ชั้นป้องกันเสมือนเหล่านี้ก็อาจถูกทะลุผ่านได้ง่ายผ่านการเชื่อมต่อ API ภายใน

ระบบ Generative UI ของ Prefab ทำงานโดยรันโค้ด Python ที่ผู้เรียกส่งเข้ามาภายใน Pyodide ซึ่งทำงานอยู่ภายใต้ Deno อีกทีหนึ่ง มองเผินๆ เหมือนมีระบบแยกส่วนถึงสองชั้น แต่ทาง JFrog ชี้ให้เห็นว่ามีการตั้งค่าสองจุดที่ทำให้การป้องกันทั้งสองชั้นล้มเหลว:

  • ตัวรันเริ่มต้น Deno ด้วยสิทธิ์ --allow-read, --allow-write และ --allow-net แบบไม่จำกัด
  • ตัวรันปล่อย Deno API ไว้บน JavaScript global object ทำให้โค้ด Python สามารถเรียกใช้ผ่าน js.Deno.readTextFileSync และ js.Deno.writeTextFileSync บนโฮสต์ได้โดยตรง
server room digital data center technology security

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง

การอ่านไฟล์ว่าอันตรายแล้ว การเขียนไฟล์นั้นอันตรายยิ่งกว่า ในเวอร์ชัน 0.20.2 ทาง JFrog ได้ใช้ความสามารถในการเขียนนี้เพื่อสร้างไฟล์ .pth ลงในไดเรกทอรี site-packages ของ virtualenv บนเซิร์ฟเวอร์ ส่งผลให้กระบวนการ Python ถัดไปที่ใช้งานสภาพแวดล้อมนั้นทำการรันโค้ดที่ถูกฝังมาโดยอัตโนมัตินอกเหนือขอบเขตของ Sandbox ทั้งหมด เนื่องจากฟีเจอร์ดั้งเดิมของ Python กำหนดให้ไฟล์ .pth ที่ขึ้นต้นด้วยคำสั่ง import ถูกรันด้วยคำสั่ง exec() ทุกครั้งที่อินเทอร์プリ터เริ่มต้นทำงาน

ไม่อยากพลาดข่าวใหม่?

สมัครรับสรุปข่าวสารใหม่ทางอีเมล ไม่บ่อยจนรำคาญ

โฆษณา

"bootstrap filesystem/network permissions are revoked before generated code executes."

PR #538 Fix Description

สำหรับแนวทางการตรวจสอบและอัปเดตระบบ ผู้ดูแลสามารถใช้งานคำสั่งมาตรฐานผ่านเทอร์มินัลเพื่อตรวจสอบเวอร์ชันและอัปเกรดได้ทันที:

  • รันคำสั่ง python -m pip show prefab-ui เพื่อดูเวอร์ชันที่ติดตั้ง
  • ตรวจสอบการลงทะเบียน GenerativeUI ด้วย grep -rn "GenerativeUI" --include="*.py" .
  • อัปเกรดแพ็กเกจเป็นเวอร์ชันล่าสุดด้วย python -m pip install --upgrade "prefab-ui>=0.21.0"

ที่มา: Dev.to

ความคิดเห็น

แสดงความคิดเห็น
0/2000

พบข้อมูลผิดพลาดในบทความนี้? แจ้งปัญหาบทความนี้