漏洞概述 标题: saver: re-fetch screen private after CheckScreenPrivate in CreateSaverWindow 描述: 在 函数中, (屏幕私有数据指针)在 宏中被存储到局部变量。当现有的屏幕窗口被替换时,如果 为 并调用 ,此时 为 (由之前的 调用清除)。如果 为 , 确定屏幕私有数据未使用,释放它,并将屏幕私有指针设置为 。 函数继续解引用未释放的 ( ),导致在 上的 。在 上, 键在偏移量 处,释放的块使 看起来非 ,导致函数继续在垃圾数据上操作并最终崩溃。 影响范围 受影响版本: 未明确指定,但提到 。 影响: 可能导致程序崩溃或潜在的安全问题。 修复方案 修复方法: 1. 在 返回后重新获取 ,以便后续的 检查能正确检测到已释放的状态。 2. 也有相同的模式,强制 为 ,即使它没有实际效果。 修复代码: 漏洞发现者 发现者: 匿名与 TrendAI Zero Day Initiative 合作。 参考编号: ZDI-CAN-30168 协助: Claude:claude-opus-4-0 其他信息 提交者: Peter Hutterer 提交时间: 1个月前 提交哈希: ecc634f1 --- 总结: 该漏洞涉及在 函数中对屏幕私有数据的 问题,可能导致程序崩溃。修复方法是在 返回后重新获取 ,并确保 中也强制 为 。