CVE-2023-53598CVE-2023-53598是Linux内核MHI(Modem Host Interface,主机接口)主机驱动中的一个安全漏洞。该漏洞源于内核在读取CHDBOFF(Channel Doorbell Offset)和ERDBOFF(Event Ring Doorbell Offset)寄存器时未执行范围检查。MHI是Linux内核中用于主机与调制解调器设备之间通信的接口协议,广泛应用于支持蜂窝通信的设备中。
当设备通过MHI接口返回的CHDBOFF和ERDBOFF寄存器值超出MHI寄存器空间的合法范围时,内核会基于这些无效值计算出非法的内存地址。随后对该非法地址的访问将导致内核崩溃(kernel panic),从而造成系统拒绝服务。该漏洞的CVSS评分为5.5,属于中危级别,攻击者需要本地低权限访问即可触发,无需用户交互。虽然机密性和完整性不受影响,但高可用性影响意味着系统可能出现完全不可用的情况。
该漏洞已于2025年10月4日公开披露,影响多个Linux内核稳定版本。Linux内核维护团队已通过添加范围检查逻辑修复了此问题,确保从设备读取的偏移值在合法范围内,防止因设备提供异常数据而导致内核崩溃。
MHI(Modem Host Interface)是高通定义的用于主机处理器与调制解调器子系统通信的接口协议。在Linux内核的MHI主机驱动中,CHDBOFF和ERDBOFF是两个关键寄存器,分别用于存储通道门铃(Channel Doorbell)和事件环门铃(Event Ring Doorbell)的偏移地址。
漏洞的根本原因在于驱动代码在读取这两个寄存器的值后,直接将其用于计算内存地址,而未验证该值是否落在MHI寄存器空间的合法范围内。具体而言,攻击场景如下:
1. 攻击者通过本地权限访问连接到系统的MHI设备(通常通过PCIe等接口)。
2. 恶意或被篡改的MHI设备在CHDBOFF或ERDBOFF寄存器中返回超出预期的值。
3. 内核驱动使用该异常值计算doorbell的内存地址。
4. 计算出的地址可能指向无效的内存区域。
5. 当内核尝试访问该非法地址时,触发内核空指针引用或非法内存访问,导致kernel panic。
修复方案是在读取CHDBOFF和ERDBOFF寄存器值后,添加范围检查逻辑,确保偏移值在MHI寄存器空间的有效范围内。如果值超出范围,则拒绝使用该值并返回错误,防止后续的非法内存访问操作。