天下漏洞,尽知其名
HIGH

CVE-2026-74222 U-Boot httpc_recv_cb 释放后使用漏洞

影响攻击者可触发释放后使用,导致引导程序崩溃

AI 研判

U-Boot 的 lwIP wget 实现中,httpc_recv_cb() 回调函数存在释放后使用漏洞。当 HTTP 数据存储失败时,回调释放了连接 PCB,但返回 ERR_BUF 而非 ERR_ABRT,导致 TCP 输入路径访问已释放内存并使引导程序崩溃。

影响范围

U-Boot

U-Boot 2026.10-rc5 之前的版本(依据描述),具体受影响版本范围暂无更多公开信息。

漏洞详情

该漏洞属于释放后使用(use-after-free)类型。成因是 httpc_recv_cb() 在 HTTP 数据存储失败时释放连接 PCB 后返回了错误的错误码 ERR_BUF,而正确做法应返回 ERR_ABRT 以中止 TCP 输入路径。由于返回码不当,TCP 输入路径继续访问已被释放的内存,从而触发崩溃。

利用条件与风险

利用前提是目标设备使用受影响的 U-Boot 并通过 lwIP wget 处理 HTTP 数据且存储失败;实战中可导致引导程序崩溃,可能造成拒绝服务或启动中断。

修复建议

建议升级至 U-Boot 2026.10-rc5 或更高版本;临时缓解措施暂无公开信息。

原始情报

U-Boot before 2026.10-rc5 contains a use-after-free vulnerability in the httpc_recv_cb() function within the lwIP wget implementation. When HTTP data storage fails, the callback frees the connection PCB but returns ERR_BUF instead of ERR_ABRT, causing the TCP input path to access released memory and crash the bootloader.