文章预览
此漏洞没有公开的概念验证(PoC),因此我们必须根据微软提供的有限信息从头开始。我们需要对易受攻击和修补后的clfd.sys组件进行逆向工程和BinDiff分析,以识别漏洞并找到触发它的方法。 微软提供的信息可以在以下链接找到:Microsoft 此漏洞是由数值截断错误引起的整数溢出。 什么是数值截断错误? 假设我们有一个类型为int64_t的值和另一个类型为int16_t的值,并且我们希望将它们相加并将结果存储在类型为int16_t的变量中。这个例子将展示当将结果存储在容量较小的数据类型中时如何发生截断。 int64_t large_value = 100000; int16_t small_value = 30000; int16_t sum = (int16_t)(large_value + small_value); large_value 是一个64位整数(int64_t),其值为100,000。 small_value 是一个16位整数(int16_t),其值为30,000。 large_value和small_value的和在int64_t上进行,因为它是最大的
………………………………