关键漏洞信息 漏洞描述: - HFSC (Hierarchical Fair Service Curve) 调度器在处理重复添加类到 eltree 时存在重入问题。 - 当使用 NETEM 和 HFSC 结合时,可以通过特定方式绕过检查,导致 UAF (Use-After-Free) 漏洞。 具体问题: - 该补丁仅检查 字段来确定是否是第一次插入,但此字段仅由 增加。 - 使用 标志(使用 )可以绕过检查并将类两次插入 eltree。 - 在正常情况下,这会导致 hfsc_dequeue 中的无限循环。 - 如果 TBF 作为根 qdisc 添加并配置为非常低的速率,可以利用它防止数据包被出队,从而进行后续插入并导致 UAF。 修复措施: - 在 hfsc_enqueue 中显式检查类是否已在 eltree 中,当设置 标志时。 相关链接: - [1] https://web.git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=141d34391abbb315d68556b7c67ad97885407547 - [2] https://elixir.bootlin.com/linux/v6.15-rc5/source/net/sched/sch_hfsc.c#L1572 - [3] https://elixir.bootlin.com/linux/v6.15-rc5/source/net/sched/sch_hfsc.c#L677 - [4] https://elixir.bootlin.com/linux/v6.15-rc5/source/net/sched/sch_hfsc.c#L1574 - [5] https://lore.kernel.org/netdev/8DuRWWfqjoRDLdmBMlIfbrsZg9Gx50DHJclilxsEBNe2D6NMoiqR_eIRIG0LOjMc3r16nUUZtArXx4oZBIIdUfZQrwjcQhdinnMis_0G7VEk=@willsroot.io/ 报告者和测试者: - 报告者: Savino Dicanosa, William Liu, Jamal Hadi Salim - 测试者: Victor Nogueira - 签名者: Pedro Tammela