EST. 2026 — Notes from real server work SYSADMIN · SECURITY · AI · DIRECTADMIN Issue 01
THE SYSADMIN ALMANAC
Home / Security Notice / DD-WRT บัฟเฟอร์ล้นใน UPnP ถูกโจมตีจริง CVE-2021-27137
Security Notice

DD-WRT บัฟเฟอร์ล้นใน UPnP ถูกโจมตีจริง CVE-2021-27137

by Ton-Or ·21 Jul 2026·3 min read
DD-WRT บัฟเฟอร์ล้นใน UPnP ถูกโจมตีจริง CVE-2021-27137

ผู้ดูแลระบบที่ใช้เราเตอร์ DD-WRT ก่อน build 45724 และเปิด UPnP ควรเร่งอัปเดตทันที เพราะมีการใช้ช่องโหว่โจมตีจริงแล้ว

1-minute summary

Symptom / problem
คำขอ UPnP ที่สร้างขึ้นเป็นพิเศษทำให้บัฟเฟอร์บนสแตกของ DD-WRT ล้น และอาจนำไปสู่การรันโค้ดโดยไม่ต้องล็อกอิน
Who should read
ผู้ดูแลระบบที่ดูแลเราเตอร์หรือจุดกระจายสัญญาณ DD-WRT ก่อน build 45724 โดยการโจมตีต้องอาศัยการเปิด UPnP
Fix in short
อัปเดตเฟิร์มแวร์เป็น build 45724 หรือใหม่กว่าที่รองรับอุปกรณ์ โดย CISA กำหนดวันครบกำหนดแก้ไขไว้ที่ 24 กรกฎาคม 2026
Jump to steps

พอดีไล่ฟีด CISA KEV เจอประกาศ DD-WRT Stack-Based Buffer Overflow Vulnerability รหัส CVE-2021-27137 ซึ่งถูกเพิ่มเข้าบัญชีวันที่ 21 กรกฎาคม 2026 ช่องโหว่นี้ ถูกใช้โจมตีจริงแล้ว ผู้ดูแลเราเตอร์ที่ใช้ DD-WRT และเปิด UPnP ควรเช็กรุ่นเฟิร์มแวร์แล้วเร่งอัปเดต ตามข้อมูล KEV ที่ CISA เผยแพร่

DD-WRTเฟิร์มแวร์เราเตอร์
8.1 HIGHCVSS 3.1 จากระเบียน CVE
45724build ที่มีแพตช์
24/07/2026ครบกำหนดแก้ไขของ CISA

ใครต้องทำอะไร

  • ผู้ดูแลระบบ: ตรวจเราเตอร์ DD-WRT ที่เปิด UPnP แล้วเร่งอัปเดต build ที่เก่ากว่า 45724 เป็นรุ่นที่มีแพตช์และรองรับอุปกรณ์ทันที เพราะมีการโจมตีจริงแล้ว

เกิดอะไรขึ้น

DD-WRT เป็นเฟิร์มแวร์ Linux สำหรับเราเตอร์และจุดกระจายสัญญาณไร้สาย ส่วน UPnP เป็นกลไกที่ช่วยให้อุปกรณ์ค้นหากันและใช้บริการบนเครือข่ายได้อัตโนมัติ ปัญหานี้อยู่ในส่วนรับคำขอค้นหาอุปกรณ์ของ UPnP ผู้โจมตีที่เข้าถึงบริการได้ส่งข้อมูลยาวผิดปกติจนบัฟเฟอร์ล้นได้ บริการอาจหยุดทำงาน หรือผู้โจมตีอาจรันโค้ดบนอุปกรณ์ได้ โดยไม่ต้องล็อกอินหรือรอให้ผู้ดูแลกดยืนยัน ตามประกาศของ SSD Secure Disclosure

ในเชิงเทคนิค จุดบกพร่องอยู่ที่การใช้ strcpy แบบไม่จำกัดความยาวในไฟล์ router/upnp/src/ssdp.c ผ่านฟังก์ชัน ssdp_msearch ซึ่งรับคำขอ M-SEARCH ระเบียน CVE จัดเป็น CWE-121 หรือบัฟเฟอร์ล้นบนสแตก และให้คะแนน CVSS 3.1 ที่ 8.1 ระดับสูง โดยระบุว่าการโจมตีมีความซับซ้อนสูง ตามระเบียน CVE ฉบับข้อมูลต้นทาง

เงื่อนไขสำคัญคือ ต้องเปิด UPnP ก่อน เพราะ DD-WRT ปิดบริการนี้ตามค่าเริ่มต้น เมื่อเปิดใช้ตามค่าปกติ บริการจะรับคำขอจากเครือข่ายภายในเท่านั้น ต้องระวังผู้โจมตีใน LAN ที่เข้าถึงบริการได้ การใช้รุ่นเก่าเพียงอย่างเดียวไม่ได้แปลว่าจะโจมตีจากอินเทอร์เน็ตได้ทุกเครื่อง ตามรายละเอียดในระเบียน CVE

ใครโดนและรุ่นที่แก้

ผลิตภัณฑ์ / ช่วงรุ่นที่ได้รับผลกระทบ รุ่นที่มีแพตช์
DD-WRT ก่อน build 45724 หรือ changeset 45723 และเก่ากว่า build / changeset 45724

ผู้พัฒนาระบุจุดแก้ไขเป็น changeset 45724 ในคำตอบที่ SSD เผยแพร่ และระเบียน CVE ระบุช่วงที่ได้รับผลกระทบตรงกัน ประกาศ SSD ยังเตือนให้นับอุปกรณ์ Buffalo ที่มาพร้อม DD-WRT อยู่ในกลุ่มที่ต้องตรวจสอบด้วย แต่ไม่ได้แจกแจงรุ่นเฟิร์มแวร์แก้ไขของ Buffalo แยกแต่ละอุปกรณ์ การเลือกไฟล์อัปเดตเลยต้องตรวจสอบรุ่นฮาร์ดแวร์ให้ตรง ตามข้อมูลรุ่นและคำตอบผู้พัฒนา

ต้องทำอะไร

เริ่มจากเปิดหน้าจัดการของเราเตอร์ ตรวจหมายเลข build และสถานะ UPnP หากยังเป็นรุ่นก่อน 45724 ให้เลือกเฟิร์มแวร์ที่มีแพตช์และรองรับรุ่นฮาร์ดแวร์จากช่องทางผู้พัฒนา สำรองค่าตั้งก่อนดำเนินการ แล้วอัปเดตตามขั้นตอนของอุปกรณ์ หลังอัปเดตให้ตรวจหมายเลข build อีกครั้ง รวมถึงทดสอบการเชื่อมต่อและบริการที่จำเป็น

ระหว่างรออัปเดต ถ้าไม่จำเป็นต้องใช้ UPnP ให้ปิดไว้ก่อน นี่เป็นคำแนะนำจากเงื่อนไขการโจมตีในระเบียน CVE ควรเช็กด้วยว่าบริการรับคำขอจากเครือข่ายไหน แล้วจำกัดเท่าที่จำเป็น จากนั้นยังต้องอัปเดตเฟิร์มแวร์

CISA ให้ตรวจร่องรอยการบุกรุกและแก้ตามคำแนะนำผู้พัฒนา วันครบกำหนดสำหรับหน่วยงานที่อยู่ภายใต้ข้อบังคับคือ 24 กรกฎาคม 2026 หากไม่มีมาตรการที่ใช้ได้ ให้หยุดใช้ผลิตภัณฑ์ ตามรายการ KEV ของ CISA

ส่วนตัวผมให้เร่งแพตช์ทันทีถ้าใช้ DD-WRT รุ่นที่กระทบและเปิด UPnP อยู่ ที่มา: CISA KEV — DD-WRT Stack-Based Buffer Overflow Vulnerability (CVE-2021-27137) เดี๋ยวกลับมาแก้เพิ่มให้ภายหลังครับ

Want us to set this up?

Get help with server setup, configuration, migration, or troubleshooting. Save time for the work that matters.

Get a quote

Hit something like this? Stuck somewhere?

Come trade notes on the LinuxThai board

→ Continue on the board

Comments 0

No comments yet — be the first