TOTOLINK X5000R V9.1.0cu.2415 的 Web 管理接口存在一个漏洞,允许 LAN 上的未经认证的远程攻击者通过段错误使 Web 服务崩溃。攻击者向 CGI 端点发送过大的 HTTP POST 请求,可触发内存耗尽,导致拒绝服务(DoS)。
该漏洞源于固件 Lighttpd 配置中未对请求大小进行限制。具体而言,以下限制被注释掉了:
#server.max-request-size = 16384
由于此限制未生效,CGI 端点 /cgi-bin/cstecgi.cgi 可接收极大请求体。根据固件反编译结果,CGI 处理程序读取并信任用户提供的 CONTENT_LENGTH 头部,并尝试基于这个可控大小直接分配内存。
在物理设备(拥有 256MB 内存)上,这种分配可能超出可用资源,导致 段错误(核心已转储) 和管理功能崩溃。
/cgi-bin/cstecgi.cgi 发送一个带有极大 JSON 体的 POST 请求。token),使请求大小远超出安全限制。