CVE-2026-42199Rust语言的Grid数据结构库在0.17.0至1.0.1之前的版本中存在整数溢出漏洞。该漏洞源于Grid::expand_rows()函数未正确处理整数运算,导致破坏网格逻辑维度与后备存储的关系。攻击者可利用此漏洞触发内部不变量失效,使得安全API get()调用无效索引,进而引发未定义行为,导致程序崩溃或潜在的拒绝服务。
该漏洞的核心问题位于Grid库的`expand_rows()`方法实现中。当尝试扩容行数时,特定的输入值会导致内部整数运算发生溢出(例如`usize`类型的加法溢出)。这种溢出破坏了Grid对象维护的关键内部不变量,即逻辑维度必须与后备存储的容量保持一致。当内部不变量被破坏后,如果应用程序随后调用安全的`get()`方法访问数据,由于内部状态已损坏,该方法可能会绕过常规的边界检查,直接使用无效索引调用底层的`get_unchecked()`不安全函数。在Rust的安全语义中,这属于未定义行为(Undefined Behavior),通常会导致内存越界访问或进程崩溃(DoS),在特定内存布局下可能引发更严重的后果。