漏洞标题
USB:串行:mos7840:修复在恢复时的崩溃
漏洞描述信息
在Linux内核中,已解决以下漏洞:
USB:串行:mos7840:在恢复时修复崩溃
自提交c49cfa917025(“USB:串行:若无在USB串行层提供的替代方案,则使用通用方法”)以来,在驱动程序未提供时,USB串行核心会在恢复时调用通用恢复实现。
由于在2011年添加了对多个读取URB的支持,这会导致mos7840在恢复时出现崩溃。具体来说,对于已打开的端口,现在会在恢复时为两个端口读取URB提交,但第二个URB的上下文指针仍然设置为核心,而不是mos7840端口结构。
通过为mos7840实现专门的挂起和恢复函数来修复此问题。
已在Delock 87414 USB 2.0到4x串行适配器上进行测试。
[ johan: 分析崩溃并重写提交消息;在恢复时设置忙碌标志;丢弃批量输入检查;删除不必要的usb_kill_urb()]
CVSS信息
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
漏洞类别
空指针解引用
漏洞标题
USB: serial: mos7840: fix crash on resume
漏洞描述信息
In the Linux kernel, the following vulnerability has been resolved:
USB: serial: mos7840: fix crash on resume
Since commit c49cfa917025 ("USB: serial: use generic method if no
alternative is provided in usb serial layer"), USB serial core calls the
generic resume implementation when the driver has not provided one.
This can trigger a crash on resume with mos7840 since support for
multiple read URBs was added back in 2011. Specifically, both port read
URBs are now submitted on resume for open ports, but the context pointer
of the second URB is left set to the core rather than mos7840 port
structure.
Fix this by implementing dedicated suspend and resume functions for
mos7840.
Tested with Delock 87414 USB 2.0 to 4x serial adapter.
[ johan: analyse crash and rewrite commit message; set busy flag on
resume; drop bulk-in check; drop unnecessary usb_kill_urb() ]
CVSS信息
N/A
漏洞类别
N/A
漏洞标题
Linux kernel 安全漏洞
漏洞描述信息
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel 存在安全漏洞,该漏洞源于 USB:serial:mos7840 模块在恢复过程中,由于多个读取URB的支持,如果第二个URB的上下文指针被错误地设置,可能会导致崩溃。
CVSS信息
N/A
漏洞类别
其他