การ์ตูนนากสีมิ้นต์ซ่อมท่อสีเขียวที่มีจดหมายไหลผ่าน ใต้ท่อมีหมุดทองเหลืองเรียงเป็นแถว สื่อถึงการอุดรอยรั่วในระบบรับส่งข้อมูลของเซิร์ฟเวอร์

Netty แก้ช่องโหว่ 16 รายการ แต่เครื่องสแกนอาจเงียบเพราะยังไม่มีเลข CVE

น้องกายEngineering

Netty 4.2.19.Final แก้ปัญหาความปลอดภัย 16 รายการ แปลว่าแพตช์เดียวครอบคลุมหลายจุดรับส่งข้อมูล แต่ยังไม่มีเลขช่องโหว่กำกับทันวันปล่อย ตามประกาศ Netty ครับ สำหรับคนขายของหรือรับชำระเงินผ่านระบบ Java เรื่องนี้ควรส่งถึงคนดูแลระบบ แม้รายงานตรวจความปลอดภัยยังไม่ขึ้นสีแดง

อีกสายคือ Netty 4.1.139.Final ซึ่งหน้า GitHub ในข้อมูลต้นทางระบุวันที่ 6 ต.ค. 2026 และแนะนำให้อัปเดตอย่างจริงจังเช่นกัน แต่รายการแก้ไขไม่เหมือนกันทั้งหมด (ประกาศสาย 4.1) ประเด็นจึงมีทั้งแพตช์ที่ต้องตรวจวันนี้ และแผนย้ายสายรุ่นที่ต้องเตรียมต่อ

สรุป 30 วินาที: เกิดอะไรขึ้น

Netty คือท่อรับส่งข้อมูลเครือข่ายที่อยู่ใต้แอป Java หลายตัว ส่วนแพตช์คือการอัปเดตเพื่อแก้ข้อผิดพลาด รอบนี้มีทั้งปัญหาตีความคำขอผิด ปัญหาใช้ทรัพยากรจนเกินขอบเขต และปัญหาตรวจสิทธิ์ ตามรายการของ Netty การมีส่วนประกอบนี้ในระบบไม่ได้แปลว่าทุกปัญหาจะกระทบแอปนั้น ต้องตรวจส่วนที่ใช้จริงด้วย

เมื่อนับบรรทัดในประกาศสาย 4.1 พบ 13 รายการ แปลว่าเป็นชุดย่อยที่ตรงกับสายใหม่ ไม่ใช่รายการเหมือนกันทั้งชุด (Netty 4.1.139) ส่วนที่เพิ่มในสายใหม่คือปัญหา HTTP/3 ซึ่งเป็นรูปแบบรับส่งข้อมูลเว็บ และปัญหา io_uring ซึ่งเป็นกลไกรับส่งข้อมูลระดับระบบอีกสองประเภท (Netty 4.2.19)

CVE คือเลขอ้างอิงกลางสำหรับเรียกช่องโหว่ให้ตรงกัน แต่ Netty บอกว่าโครงสร้างพื้นฐานสำหรับออกเลขรับภาระหนักจนออกเลขไม่ทัน และจะเผยแพร่ประกาศโดยไม่มีเลขดังกล่าว (Netty) หากเครื่องสแกนของคุณรอจับคู่เลข CVE ก่อนแจ้งเตือน มันก็อาจยังไม่พบรายการนี้ นี่เป็นข้ออนุมานจากวิธีจับคู่ ไม่ใช่ผลทดสอบเครื่องสแกนทุกยี่ห้อ

ทำไมเรื่องนี้เกี่ยวกับคุณ

ถ้าธุรกิจไทยของคุณมีระบบหลังบ้าน Java สำหรับขายสินค้า รับออร์เดอร์ หรือบริการการเงิน ควรให้ผู้ดูแลตรวจว่าใช้ Netty หรือไม่ ตัวอย่างนี้เป็นกลุ่มที่ควรถามต่อ ไม่ใช่รายชื่อธุรกิจที่ยืนยันว่าได้รับผลกระทบ แหล่งข่าวที่ใช้ยังไม่ได้ระบุบริษัทไทยหรือเหตุโจมตีในไทยครับ

สำหรับเจ้าของร้าน สิ่งที่ต้องการจากทีมเทคนิคคือคำตอบว่าใช้ส่วนที่มีประกาศหรือเปล่า และใครรับผิดชอบอัปเดต ความเสี่ยงด้านทรัพยากรในประกาศ Netty ทำให้ควรตรวจความพร้อมของบริการด้วย แต่ยังสรุปไม่ได้ว่าระบบร้านใดจะล่ม หรือข้อมูลลูกค้ารายใดรั่ว

คนทำงานออฟฟิศ นักศึกษา หรือผู้ปกครองที่เพียงใช้บริการ ไม่จำเป็นต้องไปแก้เซิร์ฟเวอร์เอง เซิร์ฟเวอร์หมายถึงระบบฝั่งผู้ให้บริการที่รับงานจากแอปหรือเว็บ คำแนะนำคือแจ้งผู้ให้บริการเมื่อมีช่องทางติดต่อ และขอให้เขายืนยันสถานะการแก้ไข แทนการติดตั้งโปรแกรมที่อ้างว่าช่วยแก้ Netty บนเครื่องส่วนตัว

แล้วรายงานสแกนที่ไม่เจอช่องโหว่ แปลว่าระบบปลอดภัยแล้วหรือครับ? ในกรณีนี้ต้องถามเพิ่มว่ารายงานเทียบกับประกาศผู้พัฒนาโดยตรงหรือยัง เพราะNetty ระบุเองว่าเลข CVE ยังออกไม่ทัน คำตอบที่ใช้ตัดสินใจควรมีรุ่นที่ใช้งานจริงประกอบด้วย

ทำงานยังไง

กลุ่มแรกเกี่ยวกับ HTTP หรือกติกาที่เว็บใช้ส่งคำขอและคำตอบ ตัวแปลงข้อมูลที่เรียกว่า codec มีหน้าที่อ่านข้อมูลเหล่านี้ Netty ระบุทั้ง request/response smuggling หรือการซ่อนคำขอหรือคำตอบให้ระบบตีความคลาดกัน และ CRLF ซึ่งเป็นตัวควบคุมการขึ้นบรรทัดที่จัดการไม่เหมาะสมในส่วน codec-http (ประกาศ Netty)

ลองนึกถึงประตูหน้าร้านที่พนักงานรับออร์เดอร์ครับ ทุกคนต้องเข้าใจตรงกันว่าบิลหนึ่งใบมีคำสั่งอะไรบ้าง การซ่อนคำขอเหมือนลูกค้าซ้อนออร์เดอร์ลับในบิลเดียว ถ้าคนรับบิลกับคนส่งงานอ่านขอบเขตไม่ตรงกัน งานที่ควรถูกแยกอาจถูกปนกัน ภาพนี้อธิบายประเภทปัญหา ไม่ใช่วิธีโจมตีหรือเงื่อนไขของช่องโหว่รายตัว

กลุ่มถัดมาคือ unbounded resource consumption แปลว่าใช้ทรัพยากรโดยไม่มีขอบเขตที่เหมาะสม ประกาศระบุในส่วนรับส่งเว็บ รวมถึง DNS ซึ่งช่วยแปลงชื่อบริการเป็นที่อยู่เครือข่าย และ XML ซึ่งเป็นรูปแบบจัดโครงสร้างข้อมูล (Netty) สิ่งที่ผู้ดูแลควรตรวจคือแอปใช้ส่วนใด ไม่ใช่เห็นชื่อ Netty แล้วถือว่าทุกประเภทเกิดได้เหมือนกัน

ด้านการตรวจความเชื่อถือ มี SNI routing bypass หรือการข้ามการเลือกปลายทางตามชื่อบริการที่แจ้งตอนเริ่มเชื่อมต่อ และ OCSP TOCTOU ซึ่งเป็นปัญหาจังหวะตรวจสถานะใบรับรองกับจังหวะนำผลไปใช้ไม่ตรงกัน (Netty) ใบรับรองคือข้อมูลที่ระบบใช้ช่วยยืนยันตัวตนของบริการ รายการต้นทางไม่ได้ให้รายละเอียดพอจะสรุปว่าทุกระบบที่ใช้ใบรับรองถูกข้ามการตรวจได้

จุดหักมุม: แพตช์ออกแล้ว แต่เลขช่องโหว่ยังมาไม่ถึง

แต่ช่องโหว่ไม่ได้รอให้มีเลขก่อนถึงจะต้องแก้ครับ Netty แนะนำให้อัปเดต พร้อมบอกว่าไม่ได้รับเลข CVE แม้แต่รายการเดียวทันรอบปล่อย (Netty) ข้อความแทนเลขในรายการจึงไม่ใช่รหัส CVE ที่ยืนยันแล้ว

อีกด้าน InfoQ เรียกชุดนี้ว่าแก้ “16 CVEs” แปลว่าจำนวนตรงกับรายการสายใหม่ แต่คำเรียกทำให้เหมือนมีเลขแล้ว ความต่างนี้สำคัญต่อคนที่รอรายงานจากเครื่องสแกนก่อนอนุมัติแพตช์ และต้องแยกคำยืนยันต้นทางออกจากภาษาสรุปข่าว

เรื่องเงิน / ผลกระทบ

สิ่งที่น่าห่วงสำหรับธุรกิจคือความต่อเนื่องของบริการ มากกว่าความยาวของรายชื่อช่องโหว่ ตามNetty รายการยังมี use-after-free หรือการใช้งานหน่วยความจำหลังคืนไปแล้ว และ memory leak หรือหน่วยความจำที่ใช้แล้วไม่คืน ในส่วน io_uring แต่ประกาศที่อ่านไม่ได้ระบุตัวเลขความเสียหายหรือยืนยันผลต่อระบบไทย

ดังนั้นยังไม่มีฐานข้อมูลให้คำนวณว่าจะเสียเงินกี่บาท หรือควรซื้อเซิร์ฟเวอร์เพิ่มเท่าไร คำแนะนำสำหรับเจ้าของธุรกิจคือขอแผนทดสอบและช่วงอัปเดตจากผู้ดูแลให้ชัด หากต้องหยุดบริการ ควรวางแผนแจ้งคนที่ทำงานเกี่ยวข้อง แทนการตีความว่าแพตช์นี้เป็นเพียงงานเปลี่ยนเลขรุ่น

ข่าวที่เห็นการขยับในระบบปลายน้ำคือ InfoQ รายงานว่า Micronaut Framework 5.2.2 อัปเดต Netty เป็น 4.2.19.Final ซึ่งเป็นรุ่นที่แก้ไขแล้ว Micronaut เป็นชุดเครื่องมือสร้างแอป Java ที่ถูกกล่าวถึงในข่าวนี้ ส่วนประกาศ Micronaut Platform ระบุการปรับส่วนประกอบ Core, Data และ Test Resources ด้วย แต่ข้อความหน้านั้นไม่ได้แจกแจงแพตช์ Netty โดยตรง

สำหรับทีมจัดซื้อระบบ คำว่าใช้ Micronaut จึงยังไม่พอเป็นหลักฐานว่าของที่ส่งมอบแก้แล้ว ควรขอรายการส่วนประกอบของตัวแอปที่ติดตั้งจริง และวันที่นำรุ่นใหม่ขึ้นใช้งาน นี่เป็นคำแนะนำการตรวจรับ ไม่ใช่ข้อกล่าวหาว่าผู้ขายรายใดยังไม่อัปเดต

อีกภาระที่ต้องเตรียมคือ Netty สาย 4.1 จะสิ้นสุดการสนับสนุนวันที่ 1 ก.ค. 2027 แปลว่าหลังวันนั้นผู้พัฒนาระบุว่าจะไม่สนับสนุนและไม่ปล่อยรุ่นเพิ่มเติมในสายนี้ (ประกาศ EOL ของ Netty) EOL หมายถึงสิ้นสุดช่วงดูแล การแก้ปัญหารอบนี้จึงควรเดินคู่กับแผนย้ายรุ่น ไม่ควรรอถึงเส้นตายค่อยหาคนรับผิดชอบ

ข้อมูลที่ยังไม่ชัด และจุดที่แหล่งข่าวพูดไม่ตรงกัน

จำนวนของแต่ละสายไม่เท่ากัน: เมื่อนับรายการ Netty 4.2.19 ได้ 16 รายการ แปลว่าเป็นจำนวนประกาศในสายใหม่ ส่วน Netty 4.1.139 มี 13 รายการ แปลว่าไม่ควรนำยอดสายใหม่ไปติดป้ายสายเก่า ทั้งชุดสายเก่าตรงกับรายการในสายใหม่ แต่ไม่มีหมวด HTTP/3 และปัญหา io_uring สองรายการ

คำว่า CVEs ไม่ตรงกับสถานะเลข: ฝั่ง InfoQ สนับสนุนภาพว่ามีการแก้ผ่าน Micronaut โดยรายงานการอัปเดต Netty และเรียกปัญหาว่า CVEs ฝั่ง Netty เป็นเสียงค้านต่อการตีความว่ามีเลขแล้ว เพราะยืนยันว่าออกเลขไม่ทัน ไม่มีแหล่งในชุดนี้คัดค้านการแพตช์ จึงไม่ควรแต่งฝ่ายที่บอกว่าไม่ต้องอัปเดตขึ้นมาครับ

วันปล่อยต้องระวังข้อมูลกำกับ: ไฟล์ต้นทางของ 4.1.139 ระบุวันที่ 6 ต.ค. 2026 แต่ metadata ของไฟล์ 4.2.19 กลับระบุวันที่ 4 ก.พ. 2019 และข้อความที่เก็บมาไม่มีวันปล่อยให้เทียบ บทความนี้จึงไม่ยืนยันวันที่สายใหม่จาก metadata ที่ไม่สอดคล้อง และไม่แปลงเวลาที่ไม่มีเขตเวลาเป็นเวลาไทย

วันที่ประกาศเลิกดูแลก็ไม่สอดคล้อง: URL ของข่าว EOL อยู่ใต้วันที่ 9 ก.ย. 2026 แต่ metadata ในไฟล์ระบุวันที่ 28 ก.ย. 2022 วันประกาศจึงยังยืนยันไม่ได้จากข้อความชุดนี้ อย่างไรก็ตามกำหนดสิ้นสุดการสนับสนุนตรงกันกับที่ระบุในหน้ารุ่นแก้ไข จึงแยกเส้นตายออกจากวันที่ประกาศที่มีปัญหา

ยังไม่ทราบขอบเขตต่อบริการของคุณ: ข้อความประกาศที่อ่านไม่ได้แจกแจงรุ่นเก่าที่ได้รับผลกระทบทั้งหมด คะแนนความรุนแรง หรือเหตุโจมตีจริง (รายการ Netty) จึงยังตอบไม่ได้ว่าระบบหนึ่งเสี่ยงมากกว่าระบบอื่นเท่าไร รวมถึงยังไม่มีผลทดลองเครื่องสแกนในบทความนี้ การไม่เจอข้อมูลเหล่านี้ไม่ใช่คำยืนยันว่าไม่มีความเสี่ยง

แล้วเราควรทำอะไร

คนทั่วไปและเจ้าของกิจการ: ทำตามได้เลย

  1. ส่งประกาศให้ผู้ดูแลหรือผู้ขายระบบที่เกี่ยวข้อง ถามว่าแอปหลังบ้านใช้ Netty หรือไม่ และใช้สายรุ่นไหน ขอคำตอบอิงรายการส่วนประกอบจริง ไม่ต้องให้พนักงานหน้าร้านเดาจากชื่อแอป
  2. ขอผู้รับผิดชอบพร้อมแผนตรวจและอัปเดต หากผู้ขายตอบว่าเครื่องสแกนไม่เตือน ให้ขอเทียบกับประกาศ Netty ที่ยังไม่มีเลข CVE ด้วย คำแนะนำนี้ช่วยให้ตรวจเหตุผลได้ แทนการบังคับให้ระบบทุกตัวต้องหยุดทันที
  3. ขอหลักฐานหลังดำเนินการ เช่น รุ่นที่ใช้งานจริงและผลทดสอบงานสำคัญของธุรกิจ อย่าใช้แค่ข้อความว่าอัปเดตแล้วเป็นจุดจบของการตรวจรับ เพราะสิ่งที่ต้องการคือบริการที่ยังทำงานได้และส่วนประกอบที่แก้ไขแล้ว

ทีม IT และนักพัฒนา: ทำตามได้เลย

  1. ตรวจ dependency tree หรือรายการว่าตัวแอปดึงส่วนประกอบใดเข้ามา หากใช้ Maven ให้ตรวจด้วย mvn dependency:tree หากใช้ Gradle ให้ตรวจด้วย gradle dependencies นี่เป็นคำแนะนำตรวจรายการภายใน ไม่ใช่คำสั่งโจมตี และบทความนี้ยังไม่ได้รันทดสอบกับโครงการของคุณ
  2. จับคู่ส่วนประกอบที่พบกับรายการของสายรุ่นที่ใช้อยู่ สำหรับสายใหม่ดู 4.2.19.Final สำหรับสายเก่าดู 4.1.139.Final แยกคำถามว่าใช้ส่วนที่มีปัญหาหรือไม่ ออกจากคำถามว่าแพตช์พร้อมแล้วหรือยัง
  3. เลือกรุ่นแก้ไขที่เข้ากับชุดแอป แล้วทดสอบงานรับส่งข้อมูลก่อนนำขึ้นระบบจริง ถ้าใช้ Micronaut ให้นำข่าว InfoQ มาเป็นจุดเริ่มตรวจ และเทียบกับประกาศ Platform อย่าสรุปว่าเปลี่ยนชื่อรุ่นบนเอกสารแล้วแอปที่รันอยู่เปลี่ยนตาม
  4. บันทึกการตัดสินใจโดยอ้างประกาศผู้พัฒนาได้ แม้เลข CVE ยังไม่มี ตรวจความพร้อมของข้อมูลเครื่องสแกนแยกต่างหาก อย่ารอเลขจนแผนแก้ไขหยุดนิ่ง แต่ก็อย่าอ้างว่าเครื่องสแกนทุกตัวพลาดเรื่องนี้แน่นอน
  5. ทำแผนย้ายจากสายเก่าไปสายใหม่ แยกจากงานแพตช์เร่งด่วน ระบุเจ้าของงาน ทดสอบความเข้ากันได้ และกำหนดช่วงเปลี่ยนระบบ โดยอิงคำแนะนำย้ายไป Netty 4.2 ของผู้พัฒนา การมีแพตช์สายเก่าในวันนี้ไม่ได้ยกเลิกกำหนดเลิกดูแล

ผมมองว่า…

ผมมองว่าเรื่องนี้ไม่ใช่การแข่งขันว่าใครเห็นเลข CVE ก่อน แต่คือความสามารถในการตรวจส่วนประกอบที่ธุรกิจใช้จริง ประกาศต้นทางพร้อมแล้วก็เริ่มประเมินได้ โดยไม่ต้องเติมข้อมูลที่ยังไม่รู้ให้ดูครบ ความมั่นใจควรมาจากหลักฐานของระบบเรา มากกว่าความเงียบของรายงานหนึ่งใบครับ

ผมมองว่าการคุยกับผู้ขายให้รู้เรื่องสำคัญพอๆ กับการเลือกแพตช์ คนที่อนุมัติงบไม่จำเป็นต้องจำชื่อโมดูลทั้งหมด แต่ควรขอคำตอบได้ว่าใครตรวจ อัปเดตเมื่อไร และทดสอบอะไรแล้ว เมื่อแบ่งความรับผิดชอบชัด ข่าวที่ดูไกลตัวก็กลายเป็นงานที่ติดตามผลได้

ปิดท้าย: สิ่งที่ต้องจับตา

ความพร้อมด้านความปลอดภัยควรวัดจากสิ่งที่แก้ในระบบจริง มากกว่าการมีเลขครบในรายงาน ให้จับตาการออกเลขและรายละเอียดประกาศเพิ่มเติม ซึ่งNetty ระบุว่ายังไม่ทันรอบปล่อย โดยยังไม่ให้วันออกเลข และติดตามแผนย้ายสายเก่าก่อนสิ้นสุดการสนับสนุนวันที่ 1 ก.ค. 2027 ครับ

ถ้าระบบขายของหรือระบบรับเงินที่คุณดูแลใช้ Java วันนี้ผู้ให้บริการตอบได้หรือยังว่าใช้ Netty รุ่นไหนและใครเป็นคนอัปเดต?

Recap

  • Netty ปล่อยรุ่นแก้ไขทั้งสายใหม่และสายเก่า ควรตรวจรุ่นที่รันจริง [1] [2]
  • จำยอดสายใหม่ 16 รายการ แปลว่าเป็นจำนวนในประกาศ ไม่ใช่จำนวนระบบที่เสียหาย [1]
  • สายเก่ามี 13 รายการ แปลว่าชุดแก้ไขไม่เท่ากัน และไม่รวม HTTP/3 กับ io_uring สองรายการ [2]
  • InfoQ ใช้คำว่า CVEs แต่ Netty ยืนยันว่าเลขยังออกไม่ทัน ความต่างอยู่ที่คำเรียกกับสถานะเลข [1] [3]
  • ยังไม่รู้ขอบเขตต่อบริการไทย ผลตรวจเครื่องสแกนแต่ละตัว และวันออกเลขครบ อย่าเติมข้อสรุปเอง
  • ธุรกิจไทยที่มีแอป Java ควรให้ผู้ขายตรวจส่วนประกอบ และขอแผนทดสอบหลังแพตช์
  • ผู้ใช้ Micronaut ตรวจรุ่นที่ติดตั้งจริง ข่าวรายงานการอัปเดต แต่หน้า Platform ไม่แจกแจง Netty โดยตรง [3] [4]
  • ติดตามเลขช่องโหว่และแผนย้ายสายเก่าก่อนเส้นตายเลิกดูแล [5]
  • แหล่ง [1]: Netty สายใหม่ · [2]: Netty สายเก่า · [3]: InfoQ · [4]: Micronaut Platform · [5]: Netty EOL