สรุปสั้น
NLnet Labs ผู้ดูแล Unbound DNS resolver ออกประกาศเตือนเมื่อวันพุธว่า ทุกเวอร์ชันของ Unbound ก่อน 1.26.1 มีช่องโหว่ heap overflow ระดับวิกฤตในตัวตรวจสอบ DNSSEC (DNSSEC validator) ผู้โจมตีที่ควบคุมโซน DNS อันตรายและยิงคำถามเข้ามายัง resolver ที่มีช่องโหว่ สามารถกระตุ้นให้เกิดข้อผิดพลาดจนนำไปสู่การรันโค้ดจากระยะไกล (RCE) ได้ ช่องโหว่นี้ติดตามภายใต้รหัส CVE-2026-81642
Unbound เวอร์ชัน 1.26.1 ที่ออกในวันเดียวกันแก้ช่องโหว่นี้พร้อมกับอีก 8 รายการ หนึ่งในนั้นคือ CVE-2026-82717 ซึ่งเป็นช่องโหว่ heap corruption ในกระบวนการสังเคราะห์ CNAME ที่รายงานโดยนาย Ben Morris จากบริษัท Anthropic และอาจนำไปสู่การรันโค้ดจากระยะไกลได้เช่นกัน “ในบางระบบและตัวเลือกการคอมไพล์” NLnet Labs ยังไม่พบการใช้ช่องโหว่ทั้งสองในการโจมตีจริง และรายการของ CISA สำหรับ CVE-2026-81642 ก็ระบุสถานะการถูกโจมตีเป็น “none” ในวันพุธ แม้จะยังไม่มีการโจมตี แต่ช่องโหว่หลักกระทบทุกเวอร์ชันจนถึงและรวมถึง 1.26.0 ซึ่งครอบคลุมทั้ง 1.25.2 (แพตช์ความปลอดภัยเดือนกรกฎาคม) และ 1.26.0 (ออกเมื่อ 4 สิงหาคม)
รายละเอียดข่าว
เว็บไซต์ The Hacker News รายงานเมื่อวันที่ 17 กันยายน 2569 ว่า NLnet Labs เปิดเผยผ่านประกาศด้านความปลอดภัยเมื่อวันพุธถึงช่องโหว่ heap overflow ระดับวิกฤตในตัวตรวจสอบ DNSSEC ของ Unbound ทุกรุ่นก่อน 1.26.1 โดย NLnet Labs ให้คะแนนช่องโหว่ CVE-2026-81642 อยู่ในระดับวิกฤต ด้วยคะแนน CVSS เวอร์ชัน 4.0 ที่ 9.1 พร้อมระบุว่าเป็นช่องทางโจมตีผ่านเครือข่ายที่ไม่ต้องใช้สิทธิ์หรือการโต้ตอบจากผู้ใช้ อย่างไรก็ตาม NVD ยังขึ้นสถานะ CVE นี้เป็น “รอการวิเคราะห์” ในวันพุธ ดังนั้นคะแนน 9.1 จึงเป็นคะแนนของผู้ดูแลเอง
ตัวช่องโหว่เกิดขึ้นขณะที่ตัวตรวจสอบประมวลผลเรกคอร์ด DNSKEY ที่มีชื่อเจ้าของเป็น compression pointer ชี้กลับเข้าไปในข้อมูลของเรกคอร์ดตัวเอง ผลกระทบที่ NLnet Labs ระบุไว้คือการทำให้บริการหยุดทำงาน (DoS) โดยมีความเป็นไปได้ที่จะเกิดการรันโค้ดจากระยะไกล “ผ่านข้อมูลที่ผู้โจมตีควบคุม” ทุกเวอร์ชันจนถึงและรวมถึง 1.26.0 ได้รับผลกระทบ โดย NLnet Labs ไม่ได้แนบเงื่อนไขการตั้งค่าใดกับช่วงเวอร์ชันดังกล่าว และยังไม่ได้ระบุว่า resolver ที่ปิดการตรวจสอบ DNSSEC จะเข้าถึงช่องโหว่ได้หรือไม่ ทั้งนี้ช่องโหว่วิกฤตในตัว validator ที่ NLnet Labs แก้ไปเมื่อเดือนพฤษภาคม (CVE-2026-33278) เป็นคนละช่องโหว่กัน และการอัปเดต 1.25.1 ที่แก้รายการนั้นไม่ได้แก้ช่องโหว่ใหม่นี้
รายละเอียดช่องโหว่
Unbound 1.26.1 เปิดให้ดาวน์โหลดทั้งแบบซอร์สโค้ด (พร้อม checksum และลายเซ็น PGP) และเป็นตัวติดตั้งกับไบนารีสำหรับ Windows หากยังอัปเกรดไม่ได้ ประกาศแนะนำสองวิธีในการแพตช์ที่ตัวซอร์สโค้ด คือใช้แพตช์แบบ minimal หรือแพตช์แบบเต็มสำหรับ CVE-2026-81642 เพียงตัวเดียวด้วยคำสั่ง patch -p1 แล้วรัน make install หรือจะใช้แพตช์รวมสำหรับการแก้ทั้ง 9 รายการก็ได้ NLnet Labs ระบุว่าแพตช์แบบสแตนด์อโลนของ CVE-2026-81642 และ CVE-2026-82717 ผ่านการทดสอบและใช้งานได้บน 1.26.0 ส่วน Debian ขึ้นสถานะ unbound 1.26.1-1 ว่าแก้แล้วใน unstable เมื่อวันพฤหัสบดี ขณะที่สาขา bookworm, trixie และ forky ยังคงขึ้นสถานะมีช่องโหว่อยู่
รุ่น 1.26.1 แก้ทั้งหมด 9 CVE ตามที่ NLnet Labs ระบุช่วงเวอร์ชันที่ได้รับผลกระทบและเงื่อนไขการกระตุ้นไว้ดังตารางด้านล่าง โดยการแก้ ReTrap ยังเปลี่ยนค่าเริ่มต้นด้วย คือ val-clean-additional ถูกปิดไปแล้ว ทำให้ Unbound ไม่ตรวจสอบข้อมูล DNSSEC ในส่วน additional ของการตอบกลับโดยค่าเริ่มต้นอีกต่อไป
| CVE | ความรุนแรง | เวอร์ชันที่กระทบ | เงื่อนไขกระตุ้น | ผลกระทบ |
|---|---|---|---|---|
| CVE-2026-81642 | Critical | จนถึงและรวม 1.26.0 | ผู้โจมตีควบคุมโซนอันตรายและยิงคำถามมายัง resolver | DoS, อาจถึง RCE |
| CVE-2026-82717 | High | จนถึงและรวม 1.26.0 | การสังเคราะห์ CNAME ระหว่างการตอบกลับ upstream (RCE ในบางระบบ/ตัวเลือกคอมไพล์) | DoS, อาจถึง RCE |
| CVE-2026-81634 | High | จนถึงและรวม 1.26.0 | ชื่อคำถามยาว 255 กับการตอบกลับ TCP ขนาดใหญ่จาก name server อันตรายหรือการตอบกลับที่ถูกดัดแปลง | DoS |
| CVE-2026-77955 | Medium | 1.13.2 จนถึงและรวม 1.26.0 | โซนที่ตั้ง zonemd-check: yes อยู่ใต้ (แต่ไม่ตรง) trust anchor | DoS, มีช่วงที่เสิร์ฟข้อมูลโซนที่ถูกดัดแปลงก่อนเช็ก ZONEMD |
| CVE-2026-78227 | Medium | 1.22.0 จนถึงและรวม 1.26.0 | คอมไพล์ด้วย --with-libngtcp2 และตั้งค่า quic-port | DoS |
| CVE-2026-80225 | Medium | จนถึงและรวม 1.26.0 | สตรีมชื่อที่ไม่ซ้ำและไม่ถูกแคชต่อเนื่องผ่านการเชื่อมต่อ TCP หรือ DoT เดียว | บริการเสื่อมประสิทธิภาพ |
| CVE-2026-82720 | Medium | 1.12.0 จนถึงและรวม 1.26.0 | คอมไพล์ด้วย --with-libnghttp2 และตั้งค่า https-port (ผลกระทบจำกัด) | DoS |
| CVE-2026-85501 | Medium | จนถึงและรวม 1.26.0 | โซนอันตรายที่ใช้การโจมตีเชิงซับซ้อน ReTrap (TagTrap, DelegationTrap, NsecTrap, AdditionalTrap) | บริการเสื่อมประสิทธิภาพ |
| CVE-2026-77860 | Low | 1.20.0 จนถึงและรวม 1.26.0 | เส้นทาง serve-expired ที่เลี่ยงมาตรการป้องกันที่เพิ่มมาสำหรับ DNSBomb | อาจถูกใช้ร่วมในการโจมตีขยายสัญญาณแบบ pulsing DoS |
ช่องโหว่หลัก CVE-2026-81642 ถูกรายงานมายัง NLnet Labs เมื่อวันที่ 11 สิงหาคมโดยนาย Yuqi Qiu ซึ่งค้นพบร่วมกับนาย Xiang Li จากห้องปฏิบัติการ AOSP ของมหาวิทยาลัย Nankai ตามไทม์ไลน์ในเรกคอร์ด CVE โดย NLnet Labs ส่งแพตช์ให้ในวันถัดมาและผู้รายงานยืนยันผลเมื่อวันที่ 13 สิงหาคม ก่อนที่การแก้ไขจะออกจริงในอีกห้าสัปดาห์ถัดมาในชุด 1.26.1
ผลกระทบ
Unbound เป็น resolver ที่ถูกใช้อย่างแพร่หลายทั้งในองค์กร ผู้ให้บริการอินเทอร์เน็ต และเป็นส่วนประกอบภายในดิสโทร Linux จำนวนมาก การที่ช่องโหว่วิกฤตอยู่ในเส้นทางการตรวจสอบ DNSSEC ซึ่งเป็นกลไกที่ควรจะ “เพิ่ม” ความน่าเชื่อถือให้ DNS หมายความว่าฟีเจอร์ด้านความปลอดภัยกลับกลายเป็นพื้นผิวการโจมตีเสียเอง เนื่องจากช่องโหว่ไม่ต้องใช้สิทธิ์หรือการโต้ตอบจากผู้ใช้ และกระตุ้นได้เพียงผู้โจมตีล่อให้ resolver ไปสอบถามโซนที่เขาควบคุม ความเสี่ยงจึงครอบคลุมทั้ง resolver สาธารณะและ resolver ภายในองค์กรที่รับคำถามแบบ recursive แม้ปัจจุบันยังไม่พบการโจมตีจริงและผลกระทบที่ยืนยันได้คือ DoS แต่ความเป็นไปได้ของ RCE ผ่านข้อมูลที่ผู้โจมตีควบคุมทำให้ควรถือเป็นความเสี่ยงสูง โดยเฉพาะกับระบบที่วางตัว resolver ไว้เป็นโครงสร้างพื้นฐานกลาง
คำแนะนำ
ผู้ดูแลระบบควรอัปเกรด Unbound เป็นเวอร์ชัน 1.26.1 โดยเร็วที่สุด หากยังอัปเกรดไม่ได้ทันที ให้ใช้แพตช์ที่ NLnet Labs จัดเตรียมไว้ ทั้งแบบเฉพาะ CVE-2026-81642 หรือแพตช์รวมทั้ง 9 รายการ แล้วคอมไพล์ใหม่ ควรตรวจสอบว่าดิสโทร Linux ที่ใช้ได้ออกแพ็กเกจแก้ไขแล้วหรือยัง โดยเฉพาะผู้ใช้ Debian ที่สาขาเสถียรยังไม่ได้รับแพตช์ ณ ช่วงประกาศ นอกจากนี้ผู้ดูแลควรรับทราบว่าการอัปเดตครั้งนี้เปลี่ยนค่าเริ่มต้นของ val-clean-additional เป็นปิด จึงควรทบทวนการตั้งค่าให้สอดคล้องกับพฤติกรรมใหม่หลังอัปเกรด
