Node.js ปิดช่องโหว่ 11 รายการ พิมพ์ node -v เทียบ v26.5.1 · v24.18.1 · v22.23.2 ต่ำกว่านี้ต้องอัปวันนี้
แพตช์ความปลอดภัยของ Node.js รอบ 29 กรกฎาคม 2026 ปิดช่องโหว่ 11 รายการ ครอบคลุมสาย 26.x · 24.x · 22.x เวอร์ชันที่ปะแพตช์แล้วคือ v26.5.1 · v24.18.1 · v22.23.2 พิมพ์ node -v บนเครื่องที่รันเว็บแล้วรู้ผลทันที และถ้าสายที่ใช้อยู่หมดอายุการดูแลไปแล้ว การอัปเลขย่อยจะไม่ช่วยอะไร

Node.js ปล่อยแพตช์ปิดช่องโหว่ 11 รายการพร้อมกัน 3 สาย เมื่อวันที่ 29 กรกฎาคม 2026 รอบนี้มีระดับความรุนแรงสูงสุดอยู่ที่ High เท่ากันทั้ง 3 สาย
เวอร์ชันที่ปะแพตช์แล้วคือ v26.5.1 · v24.18.1 · v22.23.2 ตามสายของแต่ละเครื่อง (สาย 26.x คือทุกเวอร์ชันที่ขึ้นต้นด้วยเลข 26 โครงการดูแลสายนี้แยกจากสายอื่น)
เว็บบริษัท ร้านค้าออนไลน์ หรือระบบหลังบ้านที่รัน Node.js แล้วปล่อยให้ทำงานทิ้งไว้โดยไม่เคยกลับไปแตะอีกเลย เลขเวอร์ชันจะค้างอยู่ที่เดิมแน่นอน เหตุผลที่ต้องเช็กวันนี้ไม่ใช่เพราะมีข่าวโดนเจาะ แต่เพราะแพตช์ออกมาแล้วและยังไปไม่ถึงเครื่องนั้น
เช็กด้วย node -v แล้วเทียบกับ 3 เลขนี้

เปิดเทอร์มินัลบนเครื่องที่รันเว็บ แล้วพิมพ์
node -vระบบจะแสดงบรรทัดเดียวที่ขึ้นต้นด้วย v ตามด้วยเลขเวอร์ชัน ให้เอาเลขนั้นมาเทียบกับสายของเครื่องในตารางนี้
| สายเวอร์ชัน | เวอร์ชันที่ปะแพตช์แล้ว |
|---|---|
| 26.x | v26.5.1 |
| 24.x | v24.18.1 |
| 22.x | v22.23.2 |
เทียบแค่สายของเครื่องตัวเอง ถ้าเลขขึ้นต้นด้วย 24 ให้ดูบรรทัด 24.x ว่าเลขที่เหลือไปถึง 18.1 แล้วหรือยัง ถ้าต่ำกว่านั้นคือยังไม่ได้แพตช์รอบนี้
จุดที่ต้องระวังคือการเช็กผิดเครื่อง เลขบนโน้ตบุ๊กที่ใช้เขียนงานไม่ได้บอกอะไรเกี่ยวกับเซิร์ฟเวอร์ที่ให้บริการลูกค้าจริง เครื่องที่ต้องเช็กคือเครื่องที่รันเว็บอยู่ ทั้งเซิร์ฟเวอร์ที่เช่าไว้ คอนเทนเนอร์ที่ยกขึ้นไปรัน และเครื่องรันงานเบื้องหลังอย่างการส่งอีเมลหรือการประมวลผลตามเวลา
ส่วนเจ้าของธุรกิจที่มีทีมดูแล ส่งคำถามให้ทีมได้ 2 ข้อ คือตอนนี้เซิร์ฟเวอร์รัน Node.js เวอร์ชันอะไร และจะขยับขึ้น v26.5.1 · v24.18.1 หรือ v22.23.2 ได้เมื่อไร
3 ช่องโหว่ระดับ High หมายถึงอะไรกับเว็บที่รันอยู่

ใน 11 รายการของรอบนี้ มี 3 รายการที่ประกาศจัดไว้ระดับ High ทุกรายการมีรหัส CVE กำกับ คือรหัสประจำตัวของช่องโหว่แต่ละตัว ที่มีไว้ให้คนทั้งโลกพูดถึงช่องโหว่เดียวกันโดยไม่หลงกัน
2 ข้อแรกเกิดที่ช่องทางรับส่งข้อมูลแบบ HTTP/2 นี่คือวิธีที่เบราว์เซอร์กับเซิร์ฟเวอร์คุยกัน
- CVE-2026-56846 ทำให้ข้อมูลส่วนหัวของคำขอที่ค้างอยู่เลี่ยงเพดานหน่วยความจำ
maxSessionMemoryไปได้ ผลคือมีคนสั่งจากภายนอกให้เซิร์ฟเวอร์ใช้หน่วยความจำจนหมดเครื่องได้ ข้อนี้กระทบสาย 24.x กับ 22.x ส่วน 26.x ไม่โดน - CVE-2026-56848 ทำให้คำสั่งส่งข้อมูลของ HTTP/2 เรียกซ้อนเข้ามาระหว่างยังรับข้อมูลอยู่ โปรแกรมเลยย้อนไปอ่านหน่วยความจำก้อนที่ปล่อยทิ้งไปแล้ว ข้อนี้กระทบทั้ง 3 สาย
ข้อที่สามอยู่คนละที่กัน CVE-2026-58043 เกิดกับระบบจำกัดสิทธิ์ Permission Model ที่ Node.js ใช้ล็อกว่าโปรแกรมแตะไฟล์หรือโฟลเดอร์ไหนได้บ้าง ระบบเทียบเส้นทางไฟล์พลาด คนที่ได้สิทธิ์เข้าโฟลเดอร์เดียวจึงอ่านหรือเขียนไฟล์นอกขอบเขตนั้นได้ด้วย ข้อนี้กระทบทั้ง 3 สายเช่นกัน
นอกจากช่องโหว่ของ Node.js เอง รอบนี้ยังอัปไลบรารีในตัว คือ undici (8.9.0, 7.29.0, 6.28.0) และ llhttp (9.4.3) ทั้ง 3 สาย เพื่อปิดช่องโหว่ที่เคยประกาศไปแล้ว แปลว่าอัป Node.js ตัวเดียว ได้อัปเดต 2 ตัวนี้ตามไปด้วย
ประกาศไม่ได้บอกว่ามีการโจมตีเกิดขึ้นจริง สิ่งที่บอกไว้คือระดับความรุนแรงกับสายที่ได้รับผลกระทบ ส่วนทางแก้มีทางเดียวคือการอัปเดต
อีก 8 ข้อที่เหลือ อยู่ระดับ Medium กับ Low
ที่เหลือแบ่งเป็น Medium 5 รายการ และ Low 3 รายการ
ฝั่ง Medium มี 2 ข้อเกี่ยวกับการเชื่อมต่อแบบเข้ารหัสของตัวจัดการ HTTPS Agent คือใช้ตัวตนจากใบรับรองซ้ำข้ามคำขอที่ควรใช้คนละใบ และใช้เซสชันซ้ำจนข้ามขั้นตอนตรวจสอบชื่อโฮสต์ ส่วนอีก 3 ข้อทำให้โปรเซสทำงานผิดจนล้ม ได้แก่ node:sqlite เผลอรันคำสั่งเขียนข้อมูลซ้ำ dns.resolveAny() ล้มเมื่อคำตอบจากระบบชื่อโดเมน (DNS) ส่งรายการที่อยู่ IP (A record) กลับมาเกิน 256 รายการ และ node:zlib ล้มเมื่อเจอความยาวข้อมูลปลอม
ฝั่ง Low มี 2 ข้อที่กลับมา Permission Model อีกครั้ง คือเขียนไฟล์ออกนอกรายการที่อนุญาต ผ่านฟีเจอร์บันทึกการทำงานอย่าง trace events และ process report ส่วนข้อสุดท้ายเกิดที่ขั้นตอนอ่านคำขอ HTTP ที่ตัดข้อมูลหัวคำขอบางส่วนทิ้ง จนเปิดทางให้เกิดอาการแอบสอดคำขอปลอม (request smuggling) เข้ากับคำขอจริง รายละเอียดของแต่ละข้อ รวมถึงว่าข้อไหนกระทบสายไหนบ้าง อยู่ในประกาศฉบับเต็ม
สายที่เป็น EOL แล้ว ไม่มีแพตช์ตามไปให้
ประกาศบน nodejs.org เขียนไว้ตรงๆ ว่าเวอร์ชันที่เลยช่วงการดูแล (End-of-Life หรือ EOL) ไปแล้ว จะได้รับผลกระทบทุกครั้งที่มีแพตช์ความปลอดภัยออก
ในทางปฏิบัติ ถ้าเครื่องรันสายที่หมดอายุไปแล้ว การอัปเลขย่อยในสายเดิมจะไม่ช่วยอะไร เพราะไม่มีแพตช์ใหม่ออกมาให้สายนั้นอีกแล้ว ทางเดียวคือย้ายขึ้นไปอยู่บนสายที่ยังมีทีมดูแล
แล้วสายไหนบ้างที่ยังได้รับการดูแล ข้อนี้ตอบจากความจำไม่ได้ ต้องดูจากตารางสถานะรุ่นของ Node.js เอง ตอนที่ตารางปรับปรุงล่าสุดเมื่อ 28 กรกฎาคม 2026 มี 3 สายที่ยังไม่ EOL คือ v26 สถานะ Current (รุ่นล่าสุด) · v24 สถานะ LTS (รุ่นดูแลระยะยาว) · v22 สถานะ LTS ส่วนสายอื่นทั้งหมดในตาราง ตั้งแต่ v25 ไล่ลงไปถึง v0 ขึ้นป้าย EOL หมดแล้ว

LTS ย่อมาจาก long-term support โครงการให้คำมั่นว่าจะตามแก้บั๊กร้ายแรงต่อเนื่อง 30 เดือน เอกสารของโครงการแนะนำว่างานที่รันจริงควรใช้สายนี้ ส่วน Current คือสถานะของ 6 เดือนแรกหลังรุ่นเมเจอร์ออกใหม่ เป็นช่วงที่เปิดทางให้ไลบรารีอื่นปรับตัวตาม
สถานะพวกนี้ขยับตามเวลา จึงควรเช็กจากตารางทางการทุกครั้งที่มีข่าวแพตช์ ไม่ใช่จำจากรอบก่อน ดูรอบการดูแลของแต่ละสายได้จากตารางกำหนดการปล่อยรุ่นของ Node.js
อัป Node.js ให้จบวันนี้ ทำได้ 3 ทาง
ทางแรกคือโหลดไฟล์ติดตั้งของโครงการตรงจากหน้าดาวน์โหลดของ Node.js เกณฑ์ของโครงการระบุว่าวิธีติดตั้งที่นับเป็นทางการ ต้องโหลดไฟล์ที่โครงการปล่อยออกมาเท่านั้น ห้ามนำโค้ดไปประกอบสร้างเอง (build) หรือดัดแปลง และของต้องพร้อมใช้ทันทีที่รุ่นใหม่ออก
ทางที่สอง ถ้าเครื่องติดตั้ง Node.js ผ่านตัวจัดการเวอร์ชันอยู่แล้ว ก็อัปด้วยวิธีของตัวนั้น ประกาศไม่ได้เจาะจงยี่ห้อ แต่โครงการวางเกณฑ์วิธีติดตั้งของชุมชนไว้ว่า ต้องใช้ได้กับทุกเวอร์ชันที่ยังไม่หมดอายุการดูแล ต้องรองรับระบบปฏิบัติการทางการอย่างน้อย 1 ระบบ ให้ครบทุกรุ่นย่อยของระบบนั้น และต้องเป็นโอเพนซอร์สที่แจกฟรี ไม่ใช่ของขาย
ทางที่สามสำหรับเว็บที่รันในคอนเทนเนอร์ คือแก้เลขเวอร์ชันของอิมเมจ Node.js ที่ระบุไว้ ให้เป็นเลขที่ปะแพตช์แล้ว จากนั้นสร้างอิมเมจใหม่แล้วส่งขึ้นไปทับของเดิม
อัปเสร็จแล้วพิมพ์ node -v ซ้ำบนเครื่องนั้นอีกครั้ง ถ้าเลขยังเท่าเดิม แปลว่ายังอัปไม่ติด และงานยังไม่จบ
เลขพวกนี้ขยับอยู่เรื่อยๆ อย่างสาย 24.x ก็เคยมีสัปดาห์ที่ Node.js 24.18 LTS ออกพร้อมเครื่องมืออย่าง Astro 7 กับ Vite 8.1 มาแล้ว การอัปเดตจึงเป็นงานที่ต้องกลับมาทำเป็นรอบ ไม่ใช่งานครั้งเดียวจบ
รอบหน้าจะรู้ก่อน ถ้าสมัคร nodejs-sec
ประกาศยังบอกช่องทางติดตามเรื่องความปลอดภัยไว้ด้วย คือรายชื่ออีเมล nodejs-sec ที่สมัครได้ฟรี ในประกาศระบุว่าเป็นรายชื่อที่ส่งเฉพาะประกาศ และมีอีเมลเข้าไม่บ่อย ครอบคลุมช่องโหว่และรุ่นที่ออกแก้ความปลอดภัยของ Node.js กับโปรเจกต์อื่นในองค์กร nodejs บน GitHub
เลขที่ขึ้นมาหลังพิมพ์ node -v ตอบได้มากกว่าคำถามของแพตช์รอบนี้ เพราะมันคือร่องรอยว่าครั้งสุดท้ายที่มีคนดูแลระบบนั้น คือเมื่อไร ระบบที่เงียบมาเป็นปีจึงไม่ได้แปลว่าไม่มีปัญหา มันแปลว่าไม่มีใครเปิดดูเลขของมันต่างหาก
ที่มา:
- บทความ Wednesday, July 29, 2026 Security Releases จาก nodejs.org
- เอกสารทางการของ Node.js Releases
ชอบเรื่องแนวนี้ มีอีบุ๊คฟรีให้อ่านต่อ
ChatGPT Work ฉบับเข้าใจง่าย มอบงานให้ AI ทำจนจบ ตั้งแต่งานแรกจนถึงงานอัตโนมัติ พร้อม workflow ใช้ได้จริง 8 แบบ
กดสมัครแล้วเราจะส่งเทคนิค AI และของแจกใหม่ๆ ให้ทางอีเมล เลิกรับได้ตลอด
Claude Cowork · The Business Playbook

ฉบับภาษาไทย 15 บท เรียนรู้ผ่านโปรเจกต์จำลองต่อเนื่องทั้งเล่ม ตั้งแต่ตั้งค่า Workspace จัดการไฟล์ เชื่อมแอป ตั้งระบบอัตโนมัติ จนถึงสร้าง Plugin


