แจ้งเตือน! ช่องโหว่ระดับ Critical ใน Next.js เสี่ยงถูกสั่งรันคำสั่งโดยไม่ต้องยืนยันตัวตน - Thailand Computer Emergency Response Team (ThaiCERT)警报!Next.js 中存在严重漏洞,可能导致未经授权的命令执行——泰国计算机应急响应小组 (ThaiCERT)
ศูนย์ประสานการรักษาความมั่นคงปลอดภัยระบบคอมพิวเตอร์แห่ง

ศูนย์ประสานการรักษาความมั่นคงปลอดภัยระบบคอมพิวเตอร์แห่งชาติ (ThaiCERT) ได้ติดตามสถานการณ์ภัยคุกคามทางไซเบอร์ พบรายงานช่องโหว่ด้านความมั่นคงปลอดภัยใน Next.js ซึ่งเป็น Web Framework ที่ได้รับความนิยมสำหรับพัฒนาเว็บแอปพลิเคชัน โดย Next.js ได้เผยแพร่การอัปเดตความปลอดภัยฉุกเฉิน (Out-of-Band Security Update) เมื่อวันที่ 14 ตุลาคม 2569 เพื่อแก้ไขช่องโหว่ระดับ Critical จำนวน 2 รายการที่อาจทำให้ผู้โจมตีสามารถสั่งรันคำสั่ง (Remote Code Execution: RCE) โดยไม่จำเป็นต้องยืนยันตัวตน รวมถึงช่องโหว่ระดับสูงอีก 1 รายการที่อาจทำให้ระบบหยุดให้บริการ (Denial of Service: DoS) ได้ [1]
1. รายละเอียดภัยคุกคาม 1.1 ช่องโหว่ Remote Code Execution ผ่าน use cache (GHSA-673q-mjm6-r5xr) มีคะแนน ( CVSS v4.0: 9.5 ) ส่งผลกระทบต่อแอปพลิเคชัน Next.js ที่ใช้งาน App Router ร่วมกับ Cache Components โดยเฉพาะกรณีที่ฟังก์ชัน use cache ส่งคืน Typed Array ซึ่งอาจเปิดโอกาสให้ผู้โจมตีจากภายนอกสามารถสั่งรันคำสั่งบนเซิร์ฟเวอร์ได้โดยไม่จำเป็นต้องมีสิทธิ์หรือการโต้ตอบจากผู้ใช้งาน ปัจจุบันช่องโหว่ดังกล่าวยังไม่ได้รับหมายเลข CVE อย่างเป็นทางการ และไม่มีแนวทางแก้ไขชั่วคราวนอกจากการอัปเดต Next.js [2] 1.2 ช่องโหว่ CVE-2026-96889 Remote Code Execution ผ่านการประมวลผล SVG มีคะแนน ( CVSS v4.0: 9.5 ) เกิดจากปัญหาด้านหน่วยความจำในไลบรารี librsvg ซึ่ง Next.js ใช้งานผ่านแพ็กเกจ sharp สำหรับการประมวลผลรูปภาพ หากแอปพลิเคชันเปิดให้ข้อมูล SVG ที่ผู้โจมตีควบคุมได้ถูกส่งเข้าสู่กระบวนการ Image Optimization บนระบบ Linux ที่ใช้ glibc อาจนำไปสู่การสั่งรันคำสั่งได้ ช่องโหว่นี้อาจเกี่ยวข้องกับการเปิดใช้งาน dangerouslyAllowSVG หรือการประมวลผล SVG ผ่านฟังก์ชันที่เกี่ยวข้องกับ next/og [3] 1.3 ช่องโหว่ Denial of Service ผ่าน Server Actions (GHSA-p3m5-59mp-jv5r) มีคะแนน ( CVSS v4.0: 8.2 ) ส่งผลกระทบต่อแอปพลิเคชัน Next.js ที่ใช้งาน App Router และมี Server Action อย่างน้อยหนึ่งรายการ ผู้โจมตีสามารถส่งคำขอที่ถูกสร้างขึ้นเป็นพิเศษเพื่อทำให้กระบวนการของเซิร์ฟเวอร์ใช้ทรัพยากร CPU ในระดับสูง ส่งผลให้ไม่สามารถประมวลผลคำขออื่นและอาจทำให้บริการหยุดชะงักได้ แอปพลิเคชันที่ใช้งาน Pages Router หรือไม่มี Server Actions จะไม่ได้รับผลกระทบจากช่องโหว่นี้ [4]
2. ระบบที่อาจได้รับผลกระทบ 2.1 ช่องโหว่ GHSA-673q-mjm6-r5xr – Next.js เวอร์ชัน 16.0.0 ถึง 16.4.0 – มีความเสี่ยงเมื่อใช้งาน App Router และ Cache Components โดยมีฟังก์ชัน use cache ที่ส่งคืน Typed Array หลายรายการ 2.2 ช่องโหว่ CVE-2026-96889 / GHSA-2464-fhr4-w9xw – Next.js เวอร์ชัน 10.0.0 ถึง 15.5.27 – Next.js เวอร์ชัน 16.0.0 ถึง 16.4.0 – มีความเสี่ยงโดยเฉพาะระบบที่ประมวลผล SVG ที่ผู้โจมตีสามารถควบคุมได้ผ่าน sharp บน Linux ที่ใช้ glibc 2.3 ช่องโหว่ GHSA-p3m5-59mp-jv5r – Next.js เวอร์ชัน 13.0.0 ถึง 15.5.27 – Next.js เวอร์ชัน 16.0.0 ถึง 16.4.0 – กระทบแอปพลิเคชันที่ใช้งาน App Router และมี Server Action อย่างน้อยหนึ่งรายการ
3. ผลกระทบที่อาจเกิดขึ้น 3.1 ช่องโหว่ Remote Code Execution ได้สำเร็จ อาจสามารถสั่งรันคำสั่งบนเซิร์ฟเวอร์ของเว็บแอปพลิเคชัน เข้าถึงหรือแก้ไขข้อมูลสำคัญ ติดตั้งมัลแวร์หรือ Backdoor รวมถึงใช้ระบบที่ถูกเจาะเป็นจุดเริ่มต้นในการโจมตีระบบอื่นภายในเครือข่ายได้ 3.2 ช่องโหว่ Denial of Service ผู้โจมตีอาจส่งคำขอที่สร้างขึ้นเป็นพิเศษเพื่อทำให้ CPU ของเซิร์ฟเวอร์ทำงานเต็มกำลัง ส่งผลให้เว็บแอปพลิเคชันตอบสนองช้าหรือไม่สามารถให้บริการแก่ผู้ใช้งานได้
4. แนวทางการตรวจสอบและป้องกัน 4.1 ตรวจสอบเวอร์ชัน Next.js ของเว็บแอปพลิเคชันและระบบ Production ทั้งหมด โดยเฉพาะระบบที่สามารถเข้าถึงได้จากอินเทอร์เน็ต 4.2 ผู้ใช้งาน Next.js 16 ควรอัปเดตเป็น Next.js 16.4.1 หรือใหม่กว่า โดยเร็วที่สุด 4.3 ผู้ใช้งาน Next.js 15 ควรอัปเดตเป็น Next.js 15.5.28 หรือใหม่กว่า และดำเนินการ Build และ Deploy แอปพลิเคชันใหม่หลังการอัปเดต 4.4 สำหรับ Next.js 15 ให้ตรวจสอบเวอร์ชันของ sharp ด้วยคำสั่ง npm ls sharp และตรวจสอบให้แน่ใจว่าเป็นเวอร์ชัน 0.35.5 ขึ้นไป เนื่องจากการอัปเกรด Next.js บนระบบเดิมอาจยังคงมี sharp เวอร์ชันเก่าติดตั้งอยู่ 4.5 ตรวจสอบ Logs ของ Web Server, Application Server, WAF และระบบ SIEM เพื่อค้นหาคำขอที่ผิดปกติ การใช้ทรัพยากร CPU สูงผิดปกติ รวมถึงกิจกรรมต้องสงสัยที่เกี่ยวข้องกับการอัปโหลดหรือประมวลผลไฟล์ SVG
5. แนวทางลดความเสี่ยงชั่วคราว 5.1 หากยังไม่สามารถอัปเดต Next.js ได้ทันที สำหรับช่องโหว่ CVE-2026-96889 ให้ดำเนินการอัปเดต sharp เป็นเวอร์ชัน 0.35.5 ขึ้นไป 5.2 หลีกเลี่ยงหรือปิดการประมวลผลไฟล์ SVG จากแหล่งที่ไม่น่าเชื่อถือ และตรวจสอบการตั้งค่า dangerouslyAllowSVG หากไม่มีความจำเป็นควรปิดใช้งาน 5.3 จำกัดประเภทและขนาดของไฟล์ที่ผู้ใช้งานสามารถอัปโหลดเข้าสู่ระบบ พร้อมตรวจสอบความถูกต้องของไฟล์ก่อนเข้าสู่กระบวนการ Image Optimization 5.4 สำหรับช่องโหว่ use cache และ Server Actions ปัจจุบันไม่มีแนวทางแก้ไขชั่วคราวที่สามารถป้องกันช่องโหว่ได้อย่างสมบูรณ์ จึงควรดำเนินการอัปเดตเป็นเวอร์ชันที่ได้รับการแก้ไขโดยเร็วที่สุด
แหล่งอ้างอิง [1] https://dg.th/toqh9mn5l8 [2] https://dg.th/k63mq9ubrf [3] https://dg.th/r4i9b7g3tc [4] https://dg.th/n35x9juf17
泰国国家计算机安全事件响应中心 (ThaiCERT) 一直在监测网络威胁形势,并发现 Next.js(一个流行的 Web 应用程序开发框架)存在安全漏洞。Next.js 于 2016 年 10 月 14 日发布了带外安全更新,修复了两个严重漏洞,这两个漏洞可能允许攻击者在无需身份验证的情况下执行命令(远程代码执行:RCE),以及一个可能导致拒绝服务 (DoS) 的高级漏洞 [1]。
1. 威胁详情 1.1 通过 use cache 实现的远程代码执行漏洞 (GHSA-673q-mjm6-r5xr),CVSS 评级为 9.5(v4.0),影响使用带有缓存组件的 App Router 的 Next.js 应用程序,尤其是在 use cache 函数返回类型化数组的情况下。这可能允许外部攻击者在无需用户权限或交互的情况下在服务器上执行命令。目前,此漏洞尚未正式分配 CVE 编号,除了更新 Next.js 之外,没有其他解决方法 [2]。1.2 通过 SVG 处理实现的远程代码执行漏洞 (CVE-2026-96889),CVSS 评级为 9.5(v4.0),由 librsvg 库中的内存问题引起。Next.js 通过 sharp 包使用该库进行图像处理。如果应用程序允许攻击者控制的 SVG 数据通过 glibc 传递给 Linux 系统上的图像优化进程,则可能导致命令执行。此漏洞可能与启用 dangerouslyAllowSVG 或通过 Next/OG 相关函数处理 SVG 有关 [3] 1.3 通过服务器操作发起的拒绝服务漏洞 (GHSA-p3m5-59mp-jv5r) 的 CVSS 评级为 8.2 (v4.0),会影响使用 App Router 且至少包含一个服务器操作的 Next.js 应用程序。攻击者可以发送特制的请求,导致服务器进程占用大量 CPU 资源,从而使服务器无法处理其他请求,并可能导致服务中断。使用 Pages Router 或不包含服务器操作的应用程序不受此漏洞的影响 [4]
2. 可能受影响的系统 2.1 GHSA-673q-mjm6-r5xr 漏洞 – Next.js 版本 16.0.0 至 16.4.0 – 当使用 App Router 和 Cache 组件,并调用 `use cache` 函数返回多个类型化数组时,存在此漏洞。 2.2 CVE-2026-96889 / GHSA-2464-fhr4-w9xw 漏洞 – Next.js 版本 10.0.0 至 15.5.27 – Next.js 版本 16.0.0 至 16.4.0 – 此漏洞在处理 SVG 的系统中尤为明显,攻击者可以通过 Linux 系统上使用 glibc 的 `sharp` 函数来控制这些 SVG。 2.3 GHSA-p3m5-59mp-jv5r 漏洞 – Next.js 版本 13.0.0 至 15.5.27 – Next.js 版本 16.0.0 至… 16.4.0 – 影响使用 App Router 且至少有一个 Server Action 的应用程序。
3. 潜在影响 3.1 远程代码执行漏洞:攻击者可以在 Web 应用服务器上执行命令,访问或修改敏感数据,安装恶意软件或后门,并利用受感染的系统作为起点攻击网络中的其他系统。3.2 拒绝服务漏洞:攻击者可以发送特制的请求来使服务器 CPU 过载,导致响应时间变慢或无法向用户提供服务。
4. 监控和预防指南 4.1 验证所有 Web 应用程序和生产系统的 Next.js 版本,尤其是那些可通过互联网访问的系统。4.2 Next.js 16 的用户应尽快更新到 Next.js 16.4.1 或更高版本。4.3 Next.js 15 的用户应更新到 Next.js 15.5.28 或更高版本,并在更新后重新构建并部署应用程序。4.4 对于 Next.js 15,请使用命令 `npm ls sharp` 检查 sharp 版本,并确保其为 0.35.5 或更高版本,因为在旧系统上升级 Next.js 时,可能仍然安装了较旧的 sharp 版本。4.5 监控 Web 服务器、应用服务器、WAF 和 SIEM 系统的日志,以查找异常请求、异常高的 CPU 使用率以及与上传或处理 SVG 文件相关的可疑活动。
5. 临时风险缓解措施:5.1 如果无法立即更新 Next.js 以修复 CVE-2026-96889 漏洞,请将 sharp 更新至 0.35.5 或更高版本。5.2 避免或禁用处理来自不受信任来源的 SVG 文件,并检查 `dangerouslyAllowSVG` 设置。除非必要,否则请禁用此设置。5.3 限制用户可以上传到系统的文件类型和大小,并在图像优化之前验证文件完整性。5.4 对于使用缓存和服务器操作漏洞,目前尚无永久修复方案可以完全防御这些漏洞。请尽快更新至已修复的版本。
参考文献 [1] https://dg.th/toqh9mn5l8 [2] https://dg.th/k63mq9ubrf [3] https://dg.th/r4i9b7g3tc [4] https://dg.th/n35x9juf17