ข้ามไปยังเนื้อหา
โต๊ะทำงานของนักพัฒนาซอฟต์แวร์ มีจอคอมพิวเตอร์และอุปกรณ์เขียนโค้ด ภาพประกอบข่าว promzard CVE-2026-127109
Cybersecurity

promzard CVE-2026-127109: ไลบรารี npm ถูกแทรกโค้ดผ่านคีย์ ctx ผู้ดูแลยังติดต่อไม่ได้

ภาพประกอบ: โต๊ะนักพัฒนา ไม่ใช่เครื่องที่ถูกโจมตี ภาพ: Bsmalley / Wikimedia Commons (CC BY-SA 3.0)

CERT/CC เผยแพร่ VU#685399 เมื่อ 12 พ.ย. 2026 เตือน promzard CVE-2026-127109 รุ่น 4.0.0 และก่อนหน้า ให้แทรกโค้ด JavaScript ผ่านคีย์ ctx ยังไม่มีรุ่นแก้

โดย กองบรรณาธิการ THAI DATA อ่าน 3 นาที

แชร์FacebookXLINELinkedIn

สรุปประเด็นสำคัญ

  • 12 พฤศจิกายน 2026 CERT/CC เผยแพร่บันทึก VU#685399 และ CVE-2026-127109 เรื่องไลบรารี npm promzard รุ่น 4.0.0 และก่อนหน้า ที่นำคีย์ของออบเจกต์ ctx ไปต่อสตริงโดยตรงแล้วรันด้วย vm.runInThisContext()
  • ผู้ที่ควบคุมคีย์ของ ctx ได้ เช่น ผ่านไฟล์ตั้งค่าที่แยกวิเคราะห์ คำขอ HTTP หรือตัวแปรสภาพแวดล้อม แทรกโค้ด JavaScript และรันโค้ดในโปรเซส Node.js ได้
  • CERT/CC ติดต่อผู้ดูแล promzard ไม่ได้ และบันทึกยังไม่ระบุรุ่นแก้ ขณะที่รุ่นล่าสุดบน npm คือ 4.0.0 (18 พฤษภาคม 2026) และ npm รายงานยอดดาวน์โหลด 2,557,918 ครั้ง ในสัปดาห์ 7 ถึง 13 พฤศจิกายน 2026
  • CERT/CC แนะนำให้ตรวจข้อมูลที่ใช้เติม ctx อย่างเข้มงวด ไม่ส่งคีย์จากแหล่งไม่น่าเชื่อถือ ทะเบียน npm แสดงว่า npm 12.2.2 อ้าง init-package-json ^9.0.0 ซึ่งอ้าง promzard ^4.0.0

CERT/CC เผยแพร่บันทึก VU#685399 เมื่อ 12 พฤศจิกายน 2026 เตือน promzard CVE-2026-127109 ช่องโหว่แทรกโค้ด JavaScript ในไลบรารี npm promzard รุ่น 4.0.0 และก่อนหน้า ผู้โจมตีที่ควบคุมคีย์ของออบเจกต์ ctx ได้จะรันโค้ดในโปรเซส Node.js ได้ และ CERT/CC ติดต่อผู้ดูแลเพื่อประสานการแก้ไขไม่ได้

promzard CVE-2026-127109 เกิดจากอะไร

promzard เป็นไลบรารี Node.js ที่ช่วยทำเวิร์กโฟลว์ตั้งค่าอัตโนมัติ โดยประเมินโมดูลเทมเพลตและสร้างออบเจกต์ข้อมูลจากการถามผู้ใช้ ผู้ใช้ส่งออบเจกต์ context ชื่อ ctx เพื่อเปิดข้อมูลบางอย่างให้เทมเพลตใช้ได้

หน้าบันทึกช่องโหว่ VU#685399 ของ CERT/CC เรื่อง PromZard promzard CVE-2026-127109
หน้าบันทึกช่องโหว่ VU#685399 ของ CERT/CC เรื่อง PromZard ภาพ: CERT/CC (ภาพหน้าจอ)

ตามบันทึก CERT/CC ไลบรารีเดินโมดูลเทมเพลตเพื่อหาฟังก์ชัน prompt() และฟังก์ชันอะซิงโครนัส แต่คีย์ของ ctx ถูกปฏิบัติเป็นซอร์สโค้ด JavaScript ดิบ ไม่ใช่ข้อมูลธรรมดา ไลบรารีต่อคีย์เข้ากับรายการพารามิเตอร์ของสตริงซอร์สฟังก์ชันโดยตรง ไม่ตรวจและไม่ล้างอักขระ แล้วรันสตริงนั้นด้วย vm.runInThisContext() คีย์ที่มีไวยากรณ์ JavaScript ของผู้โจมตีจึงถูกรันตอนประเมิน

ผลกระทบของ promzard CVE-2026-127109

หัวข้อ ตามบันทึก CERT/CC
ชื่อไลบรารีและรุ่น promzard บน npm รุ่น 4.0.0 และก่อนหน้า
เงื่อนไข ผู้โจมตีมีอิทธิพลต่อคีย์ของออบเจกต์ ctx เช่น ผ่านไฟล์ตั้งค่าที่แยกวิเคราะห์ คำขอ HTTP หรือตัวแปรสภาพแวดล้อม
ผลที่เกิด แทรกโค้ด JavaScript ออกจากรายการพารามิเตอร์ของฟังก์ชัน และรันโค้ดตามใจในบริบทของโปรเซส Node.js
ผู้รายงาน Abdullah Hamdan
สถานะผู้ดูแล ติดต่อไม่ได้ จึงไม่ได้ประสานการแก้ไข

CERT/CC ไม่ได้ระบุว่ามีการโจมตีจริงกับ promzard CVE-2026-127109 และบันทึกไม่ได้ระบุคะแนน CVSS

promzard ถูกใช้แพร่หลายแค่ไหน

ข้อมูลจากทะเบียน npm ที่ตรวจเมื่อ 15 พฤศจิกายน 2026 ให้ภาพการใช้งานดังนี้ promzard รุ่นล่าสุดคือ 4.0.0 ออกเมื่อ 18 พฤษภาคม 2026 และ API ของ npm รายงานยอดดาวน์โหลด 2,557,918 ครั้งในช่วง 7 ถึง 13 พฤศจิกายน 2026 init-package-json รุ่นล่าสุด 9.0.0 ระบุ promzard ^4.0.0 เป็นไลบรารีที่ต้องใช้ และ npm รุ่น 12.2.2 ระบุ init-package-json ^9.0.0

หน้าที่เก็บ npm/promzard บน GitHub
หน้าที่เก็บ npm/promzard บน GitHub ภาพ: GitHub (ภาพหน้าจอ)

ข้อมูลนี้บอกว่า promzard 4.0.0 ถูกดึงเข้ามาในโปรเจกต์จำนวนมากเป็นไลบรารีย่อย แต่ไม่ได้แปลว่าทุกโปรเจกต์โดนโจมตีได้ ช่องโหว่ต้องอาศัยโค้ดที่ส่งคีย์ ctx ซึ่งผู้อื่นควบคุมได้เข้าสู่ promzard บทความนี้ไม่ได้ตรวจว่า init-package-json หรือ npm สร้าง ctx จากข้อมูลใด จึงไม่ยืนยันว่าเครื่องมือเหล่านั้นถูกโจมตีได้ commit ล่าสุดของที่เก็บ npm/promzard บน GitHub ที่ตรวจเมื่อ 15 พฤศจิกายน 2026 ลงวันที่ 18 มิถุนายน 2026 และเป็นงานอัปเดตเครื่องมือสร้างโปรเจกต์ ไม่ใช่การแก้ promzard CVE-2026-127109

สิ่งที่ควรทำกับ promzard CVE-2026-127109

  1. ค้นหาการใช้งาน รัน npm ls promzard ในแต่ละโปรเจกต์ และค้นโค้ดว่ามีการเรียก promzard โดยตรงหรือไม่
  2. ตรวจที่มาของคีย์ ctx ถ้าโค้ดของคุณเรียก promzard เอง ให้ดูว่าคีย์มาจากไฟล์ตั้งค่า คำขอ HTTP หรือตัวแปรสภาพแวดล้อมที่ผู้อื่นแก้ได้หรือไม่
  3. ตรวจข้อมูลก่อนส่งเข้า ctx ตามที่ CERT/CC แนะนำ ใช้รายการคีย์ที่อนุญาตตายตัว และไม่ส่งคีย์จากแหล่งไม่น่าเชื่อถือ
  4. ติดตามรุ่นแก้ เฝ้าดูที่เก็บ npm/promzard และบันทึก VU#685399 เพราะยังไม่มีรุ่นแก้ ถ้าไม่จำเป็นให้เลิกเรียก promzard ในโค้ดของตนจนกว่าจะแก้
  5. จำกัดสิทธิ์ของสคริปต์ตั้งค่า รันเครื่องมือ scaffolding บนเครื่องที่ไม่มีข้อมูลรับรองถาวร เพราะผลของ promzard CVE-2026-127109 คือการรันโค้ดด้วยสิทธิ์ของโปรเซส Node.js

บริการของ THAI DATA CLOUD ที่เกี่ยวข้อง

ไลบรารีย่อยที่ไม่มีผู้ดูแลตอบกลับเป็นความเสี่ยงที่ทีมพัฒนาต้องติดตามเองต่อไปจนกว่าจะมีรุ่นแก้ IT Support ของ THAI DATA CLOUD ดูแลเซิร์ฟเวอร์และเครือข่ายขององค์กร แจ้งผ่าน Ticket ที่ตรวจสอบได้ และมีทีมไทยดูแล 24x7 ช่วยให้องค์กรที่ไม่มีทีมไอทีเต็มเวลารู้ว่าเครื่องหรือบิลด์เซิร์ฟเวอร์ใดใช้เครื่องมือ Node.js ที่ต้องจับตา (THAI DATA CLOUD เป็นผู้ดำเนินงานเว็บไซต์นี้)

ติดตามข่าวความปลอดภัยไซเบอร์อื่น ๆ ได้ที่หมวด Security

คำถามที่พบบ่อย

promzard CVE-2026-127109 คืออะไร?

promzard CVE-2026-127109 คือช่องโหว่การแทรกโค้ด JavaScript ในไลบรารี npm promzard รุ่น 4.0.0 และก่อนหน้า ไลบรารีนำคีย์ของออบเจกต์ ctx ไปต่อเป็นซอร์สโค้ดแล้วรันด้วย vm.runInThisContext() ตามบันทึก CERT/CC VU#685399

promzard CVE-2026-127109 แก้ได้หรือยัง?

ยังไม่ปรากฏรุ่นแก้ในบันทึก CERT/CC ระบุว่าติดต่อผู้ดูแลไม่ได้ และรุ่นล่าสุดบน npm ที่ตรวจเมื่อ 15 พฤศจิกายน 2026 คือ 4.0.0 ซึ่งเป็นรุ่นที่ได้รับผลกระทบ ทางลดเสี่ยงคือไม่ให้คีย์จากแหล่งไม่น่าเชื่อถือไหลเข้า ctx

โปรเจกต์ของเราเสี่ยง promzard CVE-2026-127109 หรือไม่?

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

ตรวจได้อย่างไรว่าใช้ promzard อยู่?

รัน npm ls promzard ในโปรเจกต์เพื่อดูว่ามีไลบรารีนี้เป็นไลบรารีย่อยหรือไม่ ทะเบียน npm แสดงว่า init-package-json รุ่น 9.0.0 อ้าง promzard รุ่น ^4.0.0 และ npm 12.2.2 อ้าง init-package-json ^9.0.0 จึงมักพบในโปรเจกต์ที่ใช้เครื่องมือเหล่านี้

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

  1. VU#685399 - PromZard context key code injection leads to remote code execution — CERT Coordination Center (Carnegie Mellon University)
  2. promzard package metadata — npm registry
  3. npm/promzard — GitHub (npm/promzard)

บุคคล องค์กร และสถานที่ในข่าวนี้

เลือกชื่อเพื่ออ่านข่าวทั้งหมดที่กล่าวถึง ตัวเลขคือจำนวนข่าว

องค์กรและบริษัท
CERT/CC7GitHub122
ผลิตภัณฑ์และเทคโนโลยี
npm14Node.js27
แชร์FacebookXLINELinkedIn

พบข้อมูลคลาดเคลื่อน? แจ้งกองบรรณาธิการ