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

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

- ประเภท: ข่าว · หมวด: Cybersecurity
- เผยแพร่: 2026-11-14T17:29:00.000Z · อัปเดต: 2026-11-14T17:29:00.000Z
- โดย: กองบรรณาธิการ THAI DATA, THAI DATA IT BUSINESS ENTERPRISE
- ที่มา: https://thaidata.co.th/security/promzard-cve-2026-127109-npm-rce/

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

- **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](https://thaidata-co-th.s3.ap-southeast-1.amazonaws.com/thaidata.co.th/images/articles/promzard-cve-2026-127109-npm-rce/cert-vu-685399.webp?v=4a7c5fa3) _(ภาพ: 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](https://thaidata-co-th.s3.ap-southeast-1.amazonaws.com/thaidata.co.th/images/articles/promzard-cve-2026-127109-npm-rce/npm-promzard-github.webp?v=5f3b8273) _(ภาพ: 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](https://thaidata.cloud/it-support/) ของ THAI DATA CLOUD ดูแลเซิร์ฟเวอร์และเครือข่ายขององค์กร แจ้งผ่าน Ticket ที่ตรวจสอบได้ และมีทีมไทยดูแล 24x7 ช่วยให้องค์กรที่ไม่มีทีมไอทีเต็มเวลารู้ว่าเครื่องหรือบิลด์เซิร์ฟเวอร์ใดใช้เครื่องมือ Node.js ที่ต้องจับตา (THAI DATA CLOUD เป็นผู้ดำเนินงานเว็บไซต์นี้)

ติดตามข่าวความปลอดภัยไซเบอร์อื่น ๆ ได้ที่[หมวด Security](/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 จึงมักพบในโปรเจกต์ที่ใช้เครื่องมือเหล่านี้


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

- [VU#685399 - PromZard context key code injection leads to remote code execution](https://kb.cert.org/vuls/id/685399) — CERT Coordination Center (Carnegie Mellon University)
- [promzard package metadata](https://registry.npmjs.org/promzard) — npm registry
- [npm/promzard](https://github.com/npm/promzard) — GitHub (npm/promzard)
