แจ้งเตือน! พบ 10 ช่องโหว่ด้านความปลอดภัยบน Node.js เสี่ยงถูกโจมตีและรันคำสั่งอันตราย ผู้ใช้งานควรอัปเดตทันที - Thailand Computer Emergency Response Team (ThaiCERT)警报!Node.js 中发现了十个安全漏洞,存在遭受攻击和恶意执行的风险。用户应立即更新。——泰国计算机应急响应小组 (ThaiCERT)
ศูนย์ประสานการรักษาความมั่นคงปลอดภัยระบบคอมพิวเตอร์แห่ง

ศูนย์ประสานการรักษาความมั่นคงปลอดภัยระบบคอมพิวเตอร์แห่งชาติ (ThaiCERT) ได้ติดตามสถานการณ์ภัยคุกคามทางไซเบอร์ พบว่า Node.js ได้เผยแพร่การอัปเดตด้านความปลอดภัย เพื่อแก้ไขช่องโหว่ จำนวน 10 รายการ ในสภาพแวดล้อมการรันโปรแกรม Node.js โดยมีช่องโหว่ระดับสูงที่ผู้ไม่หวังดีสามารถแอบลักลอบรันคำสั่งอันตราย และหลบเลี่ยงการตรวจสอบตัวตนได้ เหตุการณ์นี้ส่งผลกระทบโดยตรงต่อระบบและแอปพลิเคชันที่ใช้งาน Node.js เวอร์ชัน 22.x, 24.x และ 26.x จึงขอให้ผู้ดูแลระบบเร่งอัปเดตซอฟต์แวร์เป็นเวอร์ชันล่าสุดทันที เพื่อป้องกันความเสี่ยงจากการถูกนำไปใช้โจมตีระบบ
1. รายละเอียดช่องโหว่ จำนวน 10 รายการ แบ่งเป็นระดับความรุนแรงดังนี้ [1] 1.1 ระดับ High จำนวน 4 รายการ ดังนี้ 1.1.1 CVE-2026-105482 – ช่องโหว่ในการตรวจสอบชื่อโดเมนผ่าน DNS เมื่อชื่อโดเมนมีอักขระพิเศษ NUL อาจทำให้ระบบตรวจสอบปลายทางผิดพลาดและหลีกเลี่ยงข้อจำกัดการเข้าถึงได้ 1.1.2 CVE-2026-105483 เป็นช่องโหว่ในการตรวจสอบใบรับรอง TLS เมื่อใช้หมายเลข IP รูปแบบ Unicode อาจทำให้ระบบยอมรับใบรับรองของเซิร์ฟเวอร์ที่ไม่ถูกต้อง 1.1.3 CVE-2026-106069 เป็นช่องโหว่ในการตรวจสอบชื่อปลายทางของใบรับรอง TLS เมื่อใช้ IP Address รูปแบบที่ไม่เป็นมาตรฐาน อาจทำให้ผู้โจมตีหลีกเลี่ยงการตรวจสอบตัวตนของเซิร์ฟเวอร์ได้ 1.1.4 CVE-2026-111497 เป็นช่องโหว่ในระบบถอดรหัสข้อมูลบีบอัด (Brotli) ทำให้ผู้โจมตีสามารถส่งข้อมูลที่ผิดปกติเข้ามาเพื่อเขียนข้อมูลทับลงในหน่วยความจำ (Out-of-bounds Write) และสั่งรันคำสั่งอันตราย (RCE) บนเซิร์ฟเวอร์เป้าหมายได้ 1.2 ระดับ Medium จำนวน 3 รายการ ดังนี้ 1.2.1 CVE-2026-105481 เป็นช่องโหว่ในการจัดการ HTTP Keep-Alive อาจทำให้ระบบนำข้อมูลตอบกลับที่ไม่ถูกต้องไปประมวลผล 1.2.2 CVE-2026-106072 เป็นช่องโหว่ในการตรวจสอบใบรับรอง TLS สำหรับ IP Address รูปแบบที่ไม่เป็นมาตรฐาน อาจทำให้ระบบยอมรับใบรับรองของปลายทางที่ไม่ถูกต้อง 1.2.3 CVE-2026-106074 เป็นช่องโหว่ในการสร้างค่าสุ่มของ Node.js อาจทำให้โปรแกรมที่เริ่มทำงานจาก Startup Snapshot หรือ SEA สร้างค่าสุ่มซ้ำกัน ส่งผลกระทบต่อความปลอดภัยของข้อมูลที่ใช้ค่าสุ่มดังกล่าว 1.3 ระดับ Low จำนวน 3 รายการ ดังนี้ 1.3.1 CVE-2026-106070 เป็นช่องโหว่ในการตรวจสอบไฟล์ ZIP อาจทำให้ระบบส่งคืนข้อมูลที่ผู้โจมตีควบคุมได้ แม้ไฟล์จะไม่ผ่านการตรวจสอบ 1.3.2 CVE-2026-106071 เป็นช่องโหว่ในการตรวจสอบสิทธิ์เข้าถึงไฟล์ อาจทำให้โปรแกรมได้รับสิทธิ์เข้าถึงไฟล์หรือโฟลเดอร์มากกว่าที่กำหนด 1.3.3 CVE-2026-106073 เป็นช่องโหว่ในระบบจำกัดสิทธิ์การเข้าถึงไฟล์ อาจทำให้โปรแกรมหลีกเลี่ยงข้อจำกัดและเข้าถึงข้อมูลเส้นทางไฟล์ที่ไม่ได้รับอนุญาต
2. ผลกระทบที่อาจเกิดขึ้น 2.1 ผู้โจมตีอาจรันคำสั่งอันตรายผ่านช่องโหว่ในการประมวลผลข้อมูล Brotli 2.2 ระบบอาจตรวจสอบชื่อโดเมนหรือใบรับรอง TLS ผิดพลาด ทำให้เชื่อมต่อกับเซิร์ฟเวอร์ที่ไม่ถูกต้อง 2.3 โปรแกรมอาจเข้าถึงไฟล์เกินสิทธิ์ที่กำหนด หรือประมวลผลข้อมูลผิดพลาด ทั้งนี้ ผลกระทบขึ้นอยู่กับเวอร์ชันและลักษณะการใช้งาน Node.js ของแต่ละระบบ
3. ผลิตภัณฑ์ที่ได้รับผลกระทบและแก้ไขแล้ว Node.js ได้เผยแพร่เวอร์ชันแก้ไขช่องโหว่แล้วเมื่อวันที่ 21 ตุลาคม 2569 โดยผู้ดูแลระบบต้องดำเนินการอัปเดต Node.js เป็นเวอร์ชันล่าสุดที่ได้รับการแก้ไขแล้วโดยทันที ได้แก่ 3.1 ผู้ใช้สาย 26.x ให้อัปเดตเป็นเวอร์ชัน 26.12.1 3.2 ผู้ใช้สาย 24.x ให้อัปเดตเป็นเวอร์ชัน 24.22.1 3.3 ผู้ใช้สาย 22.x ให้อัปเดตเป็นเวอร์ชัน 22.23.4 ทั้งนี้ สำหรับ Node.js เวอร์ชันที่สิ้นสุดการสนับสนุน (End of Life: EOL) ควรเปลี่ยนไปใช้เวอร์ชันปัจจุบันที่ได้รับการอัปเดตด้านความปลอดภัย โดยดาวน์โหลดได้ที่ https://nodejs.org/en/download
4.แนวทางการตรวจสอบและป้องกัน [2] 4.1 ตรวจสอบเวอร์ชัน Node.js โดยเปิด Command Prompt หรือ Terminal และใช้คำสั่ง node -v เพื่อดูเวอร์ชันที่ใช้งานอยู่ 4.2 อัปเดต Node.js เป็นเวอร์ชันที่ได้รับการแก้ไขและทดสอบการทำงานของระบบหลังอัปเดต 4.3 ตรวจสอบเว็บไซต์ แอปพลิเคชัน และ API ที่ใช้ Node.js โดยเฉพาะระบบที่รับข้อมูลจากภายนอกหรือใช้งานการเชื่อมต่อ HTTPS 4.4 ตรวจสอบบันทึกเหตุการณ์ (Logs) เพื่อค้นหาการเชื่อมต่อผิดปกติ ข้อผิดพลาดของระบบ หรือพฤติกรรมที่อาจเกี่ยวข้องกับการโจมตี 4.5 จำกัดการเข้าถึงบริการที่ไม่จำเป็น จากอินเทอร์เน็ต และตรวจสอบข้อมูลที่รับจากแหล่งที่ไม่น่าเชื่อถือ หากยังไม่สามารถอัปเดตได้ทันที
🚨 ThaiCERT ย้ำผู้ดูแลระบบที่ใช้งาน Node.js ควรเร่งตรวจสอบและอัปเดตเป็นเวอร์ชันที่ได้รับการแก้ไขทันที เพื่อลดความเสี่ยงจากการถูกโจมตี การเข้าถึงข้อมูลโดยไม่ได้รับอนุญาต และการรันคำสั่งอันตราย
แหล่งอ้างอิง [1] https://dg.th/03w6iel89q [2] https://dg.th/t10bkjsed2
泰国国家计算机安全事件响应中心 (ThaiCERT) 一直在监测网络威胁形势,并发现 Node.js 已发布安全更新,修复了 Node.js 环境中的 10 个漏洞。这些漏洞属于高级漏洞,允许恶意攻击者执行有害命令并绕过身份验证。这直接影响运行 Node.js 22.x、24.x 和 26.x 版本的系统和应用程序。因此,我们敦促系统管理员立即将软件更新到最新版本,以防止这些漏洞被利用进行攻击。
1. 10 个漏洞的详细信息,按严重程度分类如下:[1] 1.1 高级概述,共 4 项,如下:1.1.1 CVE-2026-105482 – DNS 域名认证漏洞。当域名包含特殊字符 NUL 时,可能导致系统错误地验证目标地址,从而绕过访问限制。1.1.2 CVE-2026-105483 – TLS 证书认证漏洞。使用 Unicode IP 地址时,可能导致系统接受无效的服务器证书。1.1.3 CVE-2026-106069 – TLS 证书目标名称认证漏洞。使用非标准 IP 地址时,可能允许攻击者绕过服务器认证。1.1.4 CVE-2026-111497 – Brotli 解密系统漏洞。允许攻击者发送异常数据以覆盖内存中的数据。 (越界写入)并在目标服务器上执行危险命令(远程代码执行)。1.2 中等风险级别(3 项):1.2.1 CVE-2026-105481 是 HTTP Keep-Alive 处理中的一个漏洞,可能允许系统处理错误的响应。1.2.2 CVE-2026-106072 是 TLS 证书验证中针对非标准 IP 地址格式的一个漏洞,可能允许系统接受来自无效目标的证书。1.2.3 CVE-2026-106074 是 Node.js 随机数生成中的一个漏洞,可能允许从启动快照或 SEA 启动的程序生成重复的随机数,从而影响使用这些随机数的数据的安全性。1.3 低风险级别(3 项):1.3.1 CVE-2026-106070 是 ZIP 文件验证中的一个漏洞,可能允许系统返回攻击者控制的数据,即使文件验证失败。 1.3.2 CVE-2026-106071 是文件访问权限验证中的一个漏洞。该漏洞可能允许程序访问未经授权的文件或文件夹。1.3.3 CVE-2026-106073 是文件访问限制中的一个漏洞,该漏洞可能允许程序绕过限制并访问未经授权的文件路径信息。
2. 潜在影响 2.1 攻击者可能利用 Brotli 数据处理漏洞执行恶意命令。2.2 系统可能错误地验证域名或 TLS 证书,导致连接到错误的服务器。2.3 程序可能访问超出其权限的文件或错误地处理数据。具体影响取决于每个系统上 Node.js 的版本和使用情况。
3. 受影响和已解决的产品:Node.js 于 2026 年 10 月 21 日发布了针对此漏洞的补丁。系统管理员必须立即将 Node.js 更新到最新的已修复版本,包括:3.1 使用 26.x 系列的用户应更新到 26.12.1 版本;3.2 使用 24.x 系列的用户应更新到 24.22.1 版本;3.3 使用 22.x 系列的用户应更新到 22.23.4 版本。对于已停止维护 (EOL) 的 Node.js 版本,用户应切换到包含安全更新的最新版本,可从 https://nodejs.org/en/download 下载。
4. 检查和预防指南 [2] 4.1 打开命令提示符或终端,使用命令 `node -v` 查看当前使用的 Node.js 版本。4.2 将 Node.js 更新到已修复的版本,并在更新后测试系统功能。4.3 检查使用 Node.js 的网站、应用程序和 API,特别是那些从外部接收数据或使用 HTTPS 连接的系统。4.4 检查事件日志,查找异常连接、系统错误或可能与攻击相关的行为。4.5 限制对来自互联网的不必要服务的访问,并检查从不可靠来源接收的信息。如果无法立即更新,
🚨 ThaiCERT 强调,使用 Node.js 的系统管理员应立即检查并更新到已打补丁的版本,以降低遭受攻击、未经授权的数据访问和执行恶意命令的风险。
参考文献 [1] https://dg.th/03w6iel89q [2] https://dg.th/t10bkjsed2