Node.js เวอร์ชัน 25.5.0 ได้รับการเผยแพร่เมื่อวันที่ 26 มกราคม 2026 โดยมาพร้อมกับการปรับปรุงที่เน้นนักพัฒนาและอัปเดตด้านความปลอดภัยที่สำคัญ การอัปเดตนี้ให้ความสำคัญกับการบรรจุแอปพลิเคชันที่ง่ายขึ้นผ่านแฟล็กบรรทัดคำสั่งใหม่ (–build-sea) ซึ่งช่วยลดความซับซ้อนในการสร้าง Single Executable Applications (SEA) พร้อมทั้งรักษามาตรฐานความปลอดภัยของการเข้ารหัสผ่านการอัปเดต Certificate Authority ล่าสุดเป็น NSS 3.119 นอกจากนี้ยังมีการปรับปรุงการตรวจสอบระบบไฟล์ด้วยตัวเลือก `ignore` ใหม่สำหรับ `fs.watch()` และการรวม SQLite ที่มีการเปิดใช้งานโหมดป้องกันเป็นค่าเริ่มต้น เพื่อเพิ่มความปลอดภัยและประสิทธิภาพโดยรวมของแพลตฟอร์ม รวมถึงการแก้ไขบั๊กและการปรับปรุงคุณภาพในหลายระบบย่อย.
Severity: ปานกลาง
System Impact:
- Node.js Runtime
- Applications built with Node.js
- SSL/TLS Connections
- File System Operations
- SQLite Databases
- HTTP Header Handling
- HTTP/2 Implementations
Technical Attack Steps:
- **การสร้าง Single Executable Applications (SEA) ที่ง่ายขึ้น**: แนะนำแฟล็กบรรทัดคำสั่ง `–build-sea` ใหม่ ซึ่งช่วยลดขั้นตอนที่เคยต้องทำด้วยตนเองหลายขั้นตอนในการสร้าง SEA (จาก 3 ขั้นตอนเหลือเพียง 1 คำสั่ง `node –build-sea sea-config.json`) โดยการรวมไลบรารี LIEF เข้าไปใน Node.js core
- **การตรวจสอบระบบไฟล์ที่ได้รับการปรับปรุง**: ฟังก์ชัน `fs.watch()` ได้เพิ่มตัวเลือก `ignore` ทำให้สามารถยกเว้นไฟล์และไดเรกทอรีที่เฉพาะเจาะจงจากการถูกตรวจสอบ ซึ่งช่วยป้องกันการประมวลผลเหตุการณ์ที่ไม่จำเป็นและลดภาระทางคอมพิวเตอร์
- **การรวม SQLite**: เปิดใช้งานโหมดป้องกัน (defensive mode) เป็นค่าเริ่มต้น และมีการปรับปรุง `SQLite prepare options args` เพื่อให้สามารถควบคุมพฤติกรรมของ prepared statement ได้ละเอียดยิ่งขึ้น
- **อัปเดต Root Certificates**: ใบรับรอง Root ได้รับการอัปเดตเป็น NSS 3.119 ซึ่งเป็นเวอร์ชันของ Mozilla Network Security Services เพื่อให้มั่นใจว่าการเชื่อมต่อ SSL/TLS ได้รับการตรวจสอบกับ Certificate Authorities ที่เชื่อถือได้ในปัจจุบัน ช่วยป้องกันการโจมตีแบบ Man-in-the-Middle และรักษาความสมบูรณ์ของ Trust Chain การเข้ารหัส
- **การจัดการ HTTP Header**: ปรับปรุงการจัดการ HTTP Header ด้วยการตรวจสอบ `rawHeaders`
- **การปฏิบัติตาม HTTP/2**: ปรับปรุงการปฏิบัติตามข้อกำหนด HTTP/2 สำหรับการตรวจสอบ `initialWindowSize`
- **ประสิทธิภาพ StringBytes**: เพิ่มประสิทธิภาพในการเข้ารหัส StringBytes สำหรับการดำเนินการ UTF8
Recommendations:
Short Term:
- อัปเดต Node.js เป็นเวอร์ชัน 25.5.0 โดยทันที เพื่อรับการแก้ไขด้านความปลอดภัยและคุณสมบัติใหม่ที่สำคัญ
- สำหรับนักพัฒนา: พิจารณาใช้แฟล็ก `–build-sea` ใหม่เพื่อลดความซับซ้อนและปรับปรุงขั้นตอนการสร้าง Single Executable Applications
Long Term:
- ตรวจสอบและอัปเดตแพลตฟอร์มและไลบรารีที่เกี่ยวข้องอย่างสม่ำเสมอ เพื่อรักษาความปลอดภัยและความเข้ากันได้ของแอปพลิเคชัน Node.js
- ใช้ประโยชน์จากฟังก์ชัน `fs.watch()` ที่ปรับปรุงใหม่ พร้อมตัวเลือก `ignore` เพื่อการตรวจสอบระบบไฟล์ที่มีประสิทธิภาพและลดภาระทรัพยากร
- ปฏิบัติตามแนวทางปฏิบัติที่ดีที่สุดในการพัฒนาแอปพลิเคชันที่ปลอดภัย และพิจารณาใช้โหมดป้องกันของ SQLite สำหรับการจัดเก็บข้อมูลในแอปพลิเคชัน
Source: https://cybersecuritynews.com/node-js-25-5-0-released/
Share this content: