- เฟิร์มแวร์ของอุปกรณ์เครือข่าย Tenda บางรุ่นมี แบ็กดอร์ยืนยันตัวตนที่ไม่ได้ระบุไว้ในเอกสาร ซึ่งทำให้ได้สิทธิ์ผู้ดูแลระบบบนเว็บอินเทอร์เฟซสำหรับการจัดการได้โดยไม่ต้องมีข้อมูลรับรองที่ถูกต้อง
- CVE-2026-11405 ทำงานด้วยกระบวนการที่หลังจากการตรวจสอบรหัสผ่านตามปกติล้มเหลว จะตรวจสอบค่า
sys.rzadmin.passwordเสมือนเป็นรหัสผ่านทางเลือก - หากรหัสผ่านที่ป้อนตรงกับค่าที่ตั้งไว้ ระบบจะสร้าง เซสชันผู้ดูแลระบบ role=2 โดยไม่ตรวจสอบชื่อผู้ใช้ ส่งผลให้ข้ามการยืนยันตัวตนได้
- ขอบเขตที่ได้รับผลกระทบคือเฟิร์มแวร์บางเวอร์ชันของตระกูล FH1201, W15E, AC10, AC5, AC6 และหากถูกโจมตีจะสามารถตั้งค่าอุปกรณ์ใหม่ เปลี่ยนการตั้งค่าเครือข่าย และปิดใช้งานฟังก์ชันความปลอดภัยได้
- เนื่องจากยังไม่มีแพตช์ หากต้องการลดการเปิดเผยต่อความเสี่ยง ต้องพึ่งมาตรการบรรเทาแบบจำกัด เช่น ปิดใช้งานการจัดการผ่านเว็บจากระยะไกล และเปลี่ยน IP LAN เริ่มต้น
วิธีทำงานและความเสี่ยงของแบ็กดอร์ยืนยันตัวตน
- Tenda จัดหาอุปกรณ์เครือข่ายสำหรับบ้านและองค์กร เช่น เราเตอร์ สวิตช์ จุดเชื่อมต่อไร้สาย และอุปกรณ์เฝ้าระวังวิดีโอ
- อุปกรณ์จำนวนมากเหล่านี้มี อินเทอร์เฟซแบบเว็บ สำหรับการตั้งค่าและการจัดการ โดยทั่วไปได้รับการป้องกันด้วยชื่อผู้ใช้และรหัสผ่าน
- ในไบนารี
/bin/httpdของเฟิร์มแวร์ที่มีช่องโหว่ มี กลไกยืนยันตัวตนแบบแบ็กดอร์ที่ไม่ได้ระบุไว้ในเอกสาร อยู่ภายในฟังก์ชันlogin()- ขั้นแรกจะตรวจสอบรหัสผ่านแบบอิง MD5 ผ่านเส้นทางยืนยันตัวตนปกติ
- หากยืนยันตัวตนล้มเหลว จะเรียก
GetValue("sys.rzadmin.password")เพื่อดึงค่ารหัสผ่านทางเลือกจากการตั้งค่าของอุปกรณ์ - จากนั้นเปรียบเทียบรหัสผ่านที่ผู้ใช้ป้อนกับค่าที่บันทึกไว้ในการตั้งค่าโดยตรงด้วย
strcmp()แบบข้อความธรรมดา - หากค่าตรงกัน จะมอบสิทธิ์ผู้ดูแลระบบ
role=2และสร้างเซสชันที่ถูกต้อง
- ในเส้นทางนี้ ไม่มีการตรวจสอบชื่อผู้ใช้
- ไม่ว่าจะป้อนชื่อผู้ใช้อะไร หากส่งมาพร้อมรหัสผ่านแบ็กดอร์ก็จะยืนยันตัวตนสำเร็จ
- กลไกยืนยันตัวตนดังกล่าวไม่ได้ระบุไว้ในเอกสารและไม่แสดงในอินเทอร์เฟซการจัดการ
- หากโจมตีสำเร็จ จะได้ สิทธิ์เข้าถึงระดับผู้ดูแลระบบทั้งหมด ของเว็บอินเทอร์เฟซของอุปกรณ์ โดยไม่ขึ้นกับข้อมูลรับรองของบัญชีผู้ดูแลระบบที่ตั้งค่าไว้
- สามารถตั้งค่าอุปกรณ์ใหม่ได้
- สามารถเปลี่ยนการตั้งค่าเครือข่ายได้
- สามารถปิดใช้งานฟังก์ชันความปลอดภัยได้
- อาจนำไปสู่การบุกรุกเครือข่ายภายในที่กว้างขึ้นได้
เฟิร์มแวร์ที่ได้รับผลกระทบและการรับมือในปัจจุบัน
- เวอร์ชันเฟิร์มแวร์ที่ได้รับผลกระทบ:
US_FH1201V1.0BR_V1.2.0.14(408)_EN_TDUS_W15EV1.0br_V15.11.0.5(1068_1567_841)_EN_TDEUS_AC10V1.0re_V15.03.06.46_multi_TDE01US_AC5V1.0RTL_V15.03.06.48_multi_TDE01US_AC6V2.0RTL_V15.03.06.51_multi_T
- การประสานงานช่องโหว่กับผู้ผลิตไม่สำเร็จ จึง ไม่มีแพตช์ให้ใช้งาน
- มาตรการบรรเทาที่ทำได้จนกว่าจะมีเวอร์ชันแก้ไข:
- ปิดใช้งานการจัดการจากระยะไกล
- หากอุปกรณ์รองรับการจัดการผ่านเว็บจากระยะไกล ควรปิดใช้งานฟังก์ชันดังกล่าว
- สามารถป้องกันไม่ให้ผู้โจมตีจากเครือข่ายภายนอกเข้าถึงแดชบอร์ดจัดการอุปกรณ์ผ่านอินเทอร์เน็ตได้
- จำกัดการเปิดเผยต่อเครือข่ายภายใน
- การเปลี่ยนที่อยู่ IP LAN เริ่มต้นสามารถลดการถูกค้นพบแบบฉวยโอกาสจากสแกนเนอร์อัตโนมัติที่มุ่งหาเรนจ์ IP เริ่มต้นที่เป็นที่รู้จัก
- มาตรการนี้ไม่สามารถป้องกันการสแกนเครือข่ายที่ตั้งใจทำหรือเจาะจงเป้าหมายได้
- ปิดใช้งานการจัดการจากระยะไกล
- ตัวระบุและเอกสารอ้างอิงที่เกี่ยวข้อง:
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
ในบทความไม่ได้ระบุค่า
sys.rzadmin.passwordแต่มีการเปิดเผยไว้ในบทความวิเคราะห์ปี 2022: https://boschko.ca/tenda_ac1200_router/สปอยล์: ค่าคือ rzadmin และดูเหมือนว่าในเฟิร์มแวร์ยังมีสิ่งน่าสนใจอื่น ๆ อีกพอสมควร
ถ้าเป็น backdoor อย่างน้อยก็น่าจะพยายามทำให้แนบเนียนกว่านี้หน่อย :)
rzอ่านดูคล้ายภาษาเยอรมัน เพราะในกลุ่มภาษาเยอรมันมักใช้เป็นตัวย่อของ RechenZentrum หรือ ดาต้าเซ็นเตอร์ถ้าเทียบเป็นอังกฤษก็ประมาณ
dcadminเลยทำให้นึกว่าอาจจ้างเอาต์ซอร์สให้พวกที่ทำงานแนว “gute Deutsche Wertarbeit” หรืออาจเป็นร่องรอยที่หน่วยงานบางแห่งได้ประโยชน์ หรืออาจเป็นฉากบังตาของใครบางคนก็ได้ไม่ค่อยรู้จัก Tenda มาก่อน แต่ระบุว่าเป็นผู้จัดหาเราเตอร์ สวิตช์ AP ไร้สาย และอุปกรณ์เฝ้าระวังวิดีโอสำหรับบ้าน/ธุรกิจ และมีหน้าแนะนำบริษัทอยู่ที่ https://www.tendacn.com/us/profile
ในบรรดาแบรนด์จีน มักมีกรณีใช้ชิ้นส่วนภายในเดียวกันแต่เปลี่ยนแค่หน้าตาภายนอก หรือรีแบรนด์ให้เหมือนแบรนด์คู่แข่ง เลยคิดว่า Tenda ก็อาจเป็นแบบนั้นได้ เคยเห็นเรื่องแบบนี้ในฝั่งกล้องวงจรปิด
น่าจะดีถ้าผู้เขียนให้ วิธีตรวจสอบช่องโหว่ นอกเหนือจากเวอร์ชันเฟิร์มแวร์ด้วย เพราะ Tenda อาจแค่เปลี่ยนรหัสผ่านแล้วบอกว่า “ตอนนี้ปลอดภัยแล้ว” ก็ได้
อะแดปเตอร์ Ethernet ผ่านสายไฟ ที่ซื้อเมื่อราว 10 ปีก่อนยังน่าจะอยู่ในตู้ที่ไหนสักแห่ง ตอนนั้นรหัสผ่านผู้ดูแลระบบเป็น
adminแทบจะเป็นมาตรฐาน และหลายครั้งก็พิมพ์ไว้บนตัวเครื่องเลยไม่ใช่องค์กรรัฐวิสาหกิจอะไรแบบนั้น เลยคิดว่าน่าจะเป็นเรื่องไม่ใส่ใจคุณภาพจริง ๆ มากกว่าจะมีเจตนาร้ายกาจมาก
“ไม่มีการตรวจสอบชื่อผู้ใช้ที่เชื่อมต่อ ดังนั้นใช้ชื่อผู้ใช้อะไรก็ได้คู่กับรหัสผ่าน backdoor ก็สำเร็จ” นี่สุดยอดจริง ๆ
ไม่เข้าใจว่าทำไมลูกค้าถึงควรเชื่อใจผู้ผลิตแบบนี้ได้ ต่อไปคงไม่ใช้เราเตอร์ที่มี เฟิร์มแวร์กล่องดำ จากผู้ขายให้อีกแน่นอน
ก่อนใช้งานคงติดตั้งอะไรอย่าง OpenWRT เสมอ และถ้าด้วยเหตุผลใดก็ตามทำไม่ได้ ก็จะไม่คิดซื้ออุปกรณ์แบบนั้นเลย
ในสถานที่ที่เครือข่ายไร้สายหนาแน่นและแออัดอย่างอาคารอพาร์ตเมนต์ ฟีเจอร์เหล่านี้สำคัญต่อการรักษาพื้นที่ครอบคลุม ความแรงสัญญาณ และ throughput เลยสงสัยว่าฝั่ง OpenWRT พบวิธีเลี่ยงแล้วหรือยัง หรือผู้ผลิตเริ่มให้ความร่วมมือกับไดรเวอร์โอเพนซอร์สที่ใช้เฟิร์มแวร์แบบโหลดได้มากขึ้นแล้วหรือไม่
แบบนั้นย่อมกินไฟมากกว่าอุปกรณ์ที่ใช้ ชิปสวิตช์ เฉพาะทางมากอยู่แล้ว
น่าทึ่งที่บริษัทอุปกรณ์เครือข่ายผลิตขยะออกมาได้อย่างสม่ำเสมอขนาดนี้
แถมยังเป็น backdoor แบบมือสมัครเล่นทุกครั้ง ถ้ามันซับซ้อนกว่านี้อย่างน้อยยังพอมีช่องให้คิดว่า “คงมีหน่วยงานความมั่นคงสักแห่งสั่งทำ” แล้วปล่อยผ่านได้
หรือไม่ก็อาจตั้งใจใส่ให้ดูเป็นมือสมัครเล่นเพื่อให้ถูกค้นพบก็ได้
อันนี้กลับน่ายินดี ผมมีเราเตอร์ทรงลูกบาศก์ของ Tenda อยู่หลายตัว จริง ๆ แล้วก็แทบเป็นแค่ WiFi repeater ที่มี mesh เพิ่มมานิดหน่อย แต่ผมไม่ชอบมาตลอดเพราะเฟิร์มแวร์ผูกกับแอปมากเกินไป
ตอนนี้ด้วย สิทธิ์ root น่าจะข้ามแอปได้ง่ายขึ้นมาก และปิดกลไก ping ที่คอยยิง DNS query ไปที่
microsoft.comตลอดเพื่อแสดงไฟสีเขียวได้ด้วยพูดตามตรง อันนี้ดูเหมือนข้อมูลรับรองสำหรับนักพัฒนาหรือข้อมูลรับรองเริ่มต้นที่ฝังอยู่ในเฟิร์มแวร์มากกว่า “backdoor” ในความหมายที่มีนัยร้าย อาจเป็นไปได้ว่าโค้ดยังคงอยู่ แต่ในกระบวนการผลิตควรสุ่มคีย์ให้เดาไม่ได้ ทว่าไม่ได้รันขั้นตอนเพิ่มเติมนั้นเพราะขี้เกียจ หรือแฟลชเฟิร์มแวร์ต้นฉบับโดยไม่มีการตั้งค่าการผลิต จนหลุดออกมา
rzadminเสมอ นักวิทยาศาสตร์ก็งงอยู่เหมือนกันดังนั้นผมจึง ประกอบเราเตอร์/ไฟร์วอลล์เอง ด้วยฮาร์ดแวร์ทั่วไปและดิสโทร Linux
ipchainsตอนนั้นเป็นวิธีเดียวที่จะได้เราเตอร์ที่ไม่แพงมหาศาลหลังจากนั้นเราเตอร์สำหรับผู้บริโภค/โปรซูเมอร์ถึงออกมา และสุดท้ายของเก่าก็กลับมาใหม่อีกครั้ง
เคยใช้ผลิตภัณฑ์ WiFi สำหรับเดินทางของ Tenda ในยุคที่ WiFi โรงแรมเหมือนสัตว์ประหลาดแปลก ๆ
ตอนนี้ด้วย eSIM และแพ็กเกจอินเทอร์เน็ตสำหรับเดินทางที่แพร่หลาย WiFi โรงแรมอาจกลายเป็นช่องทางเชื่อมต่อที่ไว้ใจได้ยากที่สุดเสียด้วยซ้ำ เลยดูเหมือนไม่จำเป็นต้องใช้แล้ว
ผมมีอุปกรณ์ Mikrotik ที่ได้แถมฟรีในช่วงราคาเดียวกันอยู่เครื่องหนึ่งด้วย มันเล็กกว่าทางกายภาพ และรันสิ่งที่ดูเหมือนโค้ดสายหลักมากกว่า ไม่ว่าจะว่าเรื่องคุณภาพของ Mikrotik อย่างไร มันก็มี ปุ่มปรับตั้งค่า แทบทุกอย่างที่ต้องการให้จริง ๆ
ผู้ใช้ทุกคนอยู่ใน VLAN ของตัวเอง และแต่ละห้องใช้ PPSK แยกกัน ข้อมูลรับรองก็สร้างแบบสุ่ม ไม่ใช่แพตเทิร์นไร้สาระแบบนามสกุล+หมายเลขห้อง เรายังทำระบบควบคุมการเข้าออกเอง และใช้ MIFARE DESFire EV3 ซึ่งเป็นคีย์การ์ดที่แข็งแกร่งที่สุดเท่าที่หาได้ในตอนนั้น กำลังพยายามจริง ๆ ที่จะสร้างโรงแรมซึ่งความปลอดภัยไม่ดูเหมือนเป็นเรื่องล้อเล่น
สหรัฐฯ/อิสราเอลคงไม่มีทางทำเรื่องแบบนี้แน่ ๆ งั้นซื้อ UniFi/Fortinet/Palo Alto ก็พอสินะ!
เช่น: https://www.thestack.technology/cisco-hard-coding-passwords-...
ifconfigของผมนั้นง่าย ๆ ถ้าผลิตใน Shenzhen ก็ทิ้งฮาร์ดแวร์/เฟิร์มแวร์ Tenda รุ่นใหม่ ๆ ดูเหมือนจะถูก เข้ารหัส ไว้ดังตัวอย่างด้านล่าง ทำให้ตรวจสอบได้ยากขึ้น
US_AC10V6.0si_V16.03.62.09_multi_TDE01.binและUS_BE12ProV1.0mt_V16.03.66.23_TD01.binที่ดูด้วยbinwalkมีการเข้ารหัส OpenSSLไฟล์ที่ลองเป็นตัวที่สามคือ
US_W18EV2_kf_V16.01.0.20(4766)_HighPower (1).binไม่ได้ถูกเข้ารหัส และแสดงให้เห็นว่าโมเดลอื่นที่ไม่ได้อยู่ในรายชื่อผลกระทบของ CVE นี้ก็อาจมีปัญหาได้เช่นกัน ภายใน/squashfs-root/webroot_ro/default_ac.cfgและdefault_router.cfgมีsys.rzadmin.username=rzadmin,sys.rzadmin.password=cnphZG1pbg==ซึ่งเมื่อถอด Base64 แล้วคือrzadminนอกจากนี้ยังเห็นguest/guestด้วยจากการดูคร่าว ๆ
sys.rzadmin.passwordถูกอ้างถึงเฉพาะในบริบทที่ฟังก์ชันlogin()ของ/bin/httpdดึงค่ามาเปรียบเทียบ และหากไม่ถูกต้องจะขึ้น"login err: password is wrong."ผมหาการอ้างอิงโค้ดในส่วนใดของเฟิร์มแวร์ที่ให้ผู้ใช้เปลี่ยนค่าเริ่มต้นนี้ไม่พบแถม
imsd_upload_log_v1ของ/bin/imsdยังเก็บ SSID, MAC, ที่อยู่ IP,sys.admin.username,sys.rzadmin.usernameและเขตเวลา ส่วนimsd_remote_pwd_getจะดึงsys.admin.passwordไลบรารีที่เกี่ยวข้องอย่าง/lib/lubucapi.soก็ดูเป็นไบนารีที่ควรตรวจสอบต่อ และดูเหมือนจะมีชุดคำสั่งที่ทำให้สามารถจัดการผ่านคลาวด์หรือดีบักจากระยะไกลบนเราเตอร์ Tenda ได้ ซึ่งอาจเป็นเหตุผลที่มีimsd_remote_pwd_getอยู่ใน/bin/imsd