# fbdev: 内核: fbcvt: 避免在fb_cvt_hperiod()中出现除0错误
## 概述
在 Linux 内核的 fbdev 核心中,`fb_cvt_hperiod()` 函数存在除零错误漏洞。当 `mode->refresh` 被设置为 `0x80000000` 时,会导致 `cvt.f_refresh` 在乘以 2 后溢出,并最终传递给 `fb_cvt_hperiod()` 函数作为分母,从而引发除零错误。
## 影响版本
未具体列出受漏洞影响的版本。
## 细节
在 `fb_find_mode_cvt()` 函数中,如果 `mode->refresh` 的值为 `0x80000000`,则在乘以 2 时会导致溢出,使 `cvt.f_refresh` 变为 0。这个值随后被传递给 `fb_cvt_hperiod()` 函数,作为分母进行除法运算,导致除零错误并引起内核崩溃。该漏洞通过 Linux Verification Center 使用 Svace 静态分析工具发现。
## 影响
除零错误会导致内核崩溃(kernel oops),可能使系统变得不稳定,甚至导致拒绝服务(DoS)。
# | POC 描述 | 源链接 | 神龙链接 |
---|
标题: fbdev: core: fbcvt: avoid division by 0 in fb_cvt_hperiod() - kernel/git/stable/linux.git - Linux kernel stable tree -- 🔗来源链接
标签:
神龙速读标题: fbdev: core: fbcvt: avoid division by 0 in fb_cvt_hperiod() - kernel/git/stable/linux.git - Linux kernel stable tree -- 🔗来源链接
标签:
神龙速读标题: fbdev: core: fbcvt: avoid division by 0 in fb_cvt_hperiod() - kernel/git/stable/linux.git - Linux kernel stable tree -- 🔗来源链接
标签:
神龙速读