ช่องโหว่ร้ายแรง jsPDF เสี่ยงข้อมูลรั่วผ่าน PDF
🚨 ช่องโหว่ร้ายแรง jsPDF เสี่ยงข้อมูลรั่วผ่านไฟล์ PDF
นักวิจัยด้านความปลอดภัยออกมาเตือนถึง ช่องโหว่ระดับ Critical ใน jsPDF ไลบรารียอดนิยมสำหรับสร้างไฟล์ PDF บนแอปพลิเคชัน JavaScript ซึ่งอาจเปิดทางให้แฮกเกอร์ ดึงข้อมูลลับจากไฟล์ในเครื่องเซิร์ฟเวอร์ ออกไปฝังอยู่ในไฟล์ PDF ได้โดยที่ผู้ดูแลระบบไม่รู้ตัว 😱
🔍 รายละเอียดช่องโหว่ CVE-2025-68428
ช่องโหว่นี้ถูกติดตามภายใต้รหัส CVE-2025-68428 มีคะแนนความรุนแรงสูงถึง 9.2
ต้นเหตุเกิดจากปัญหา Local File Inclusion และ Path Traversal ในฟังก์ชัน loadFile ของ jsPDF เวอร์ชันก่อน 4.0 ซึ่งเปิดโอกาสให้ส่ง path ที่ไม่ได้ผ่านการกรอง (unsanitized path) เข้าไปอ่านไฟล์ในระบบได้
📌 หากมีการนำ input จากผู้ใช้ไปใช้เป็น path โดยตรง
jsPDF อาจดึงเนื้อหาไฟล์ภายในเครื่อง เช่น
-
ไฟล์ config
-
environment variables
-
credential หรือ secret key
ไปฝังอยู่ใน PDF ที่ถูกสร้างขึ้นทันที ⚠️
📦 ไลบรารียอดนิยม แต่ความเสี่ยงสูง
jsPDF เป็นแพ็กเกจที่ถูกใช้อย่างแพร่หลายมาก โดยมียอดดาวน์โหลดกว่า 3.5 ล้านครั้งต่อสัปดาห์ บน npm
ฟังก์ชันที่ได้รับผลกระทบไม่ได้มีแค่ loadFile เท่านั้น แต่ยังรวมถึง
-
addImage -
html -
addFont
เนื่องจากทั้งหมดมีการเรียกใช้ loadFile ภายในเช่นกัน
⚠️ หมายเหตุ: ช่องโหว่นี้กระทบเฉพาะ jsPDF เวอร์ชันที่รันบน Node.js เช่นjspdf.node.js และ jspdf.node.min.js
🛠️ วิธีแก้ไขและลดความเสี่ยง
ทีม jsPDF ได้ออกแพตช์แก้ไขแล้วใน เวอร์ชัน 4.0.0 โดย
-
จำกัดการเข้าถึง filesystem เป็นค่าเริ่มต้น
-
ใช้ Node.js permission mode แทน
🔐 อย่างไรก็ตาม ผู้เชี่ยวชาญแนะนำให้ใช้ Node.js เวอร์ชัน
22.13.0, 23.5.0 หรือ 24.0.0 ขึ้นไป
เนื่องจาก permission mode ใน Node 20 ยังอยู่ในสถานะ experimental
⚠️ ข้อควรระวังเพิ่มเติม:
-
การใช้ flag
--permissionจะกระทบทั้ง process ของ Node.js -
หากตั้งค่า
--allow-fs-readกว้างเกินไป จะทำให้การป้องกันไร้ผล -
สำหรับ Node เวอร์ชันเก่า ควร sanitize path จากผู้ใช้ทุกครั้ง
🧩 บทเรียนสำคัญสำหรับองค์กร
ด้วยการใช้งาน jsPDF อย่างแพร่หลายในระบบเว็บและระบบภายในองค์กร
ช่องโหว่นี้ถือเป็นเป้าหมายที่มีโอกาสถูกนำไปโจมตีจริงสูงมาก 🚨
👉 องค์กรควร:
-
ตรวจสอบ dependency และเวอร์ชันของ jsPDF
-
หลีกเลี่ยงการรับ path จาก user โดยตรง
-
ใช้หลัก least privilege กับ Node.js process
-
ทำ Security Code Review อย่างสม่ำเสมอ
สำหรับองค์กรที่ไม่มีทีมดูแลเฉพาะทาง
การใช้ IT Outsource หรือ บริการดูแลระบบคอมพิวเตอร์ จะช่วยตรวจสอบช่องโหว่, อัปเดตแพตช์ และลดความเสี่ยงด้านความปลอดภัยได้อย่างมืออาชีพ 🔐💼
ที่มา – https://www.bleepingcomputer.com/news/security/critical-jspdf-flaw-lets-hackers-steal-secrets-via-generated-pdfs/