CVE-2022-49200

Source
https://cve.org/CVERecord?id=CVE-2022-49200
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2022-49200.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2022-49200
Downstream
Related
Published
2025-02-26T01:55:42.758Z
Modified
2026-03-20T12:22:15.269879Z
Summary
Bluetooth: btmtksdio: Fix kernel oops in btmtksdio_interrupt
Details

In the Linux kernel, the following vulnerability has been resolved:

Bluetooth: btmtksdio: Fix kernel oops in btmtksdio_interrupt

Fix the following kernel oops in btmtksdio_interrrupt

[ 14.339134] btmtksdiointerrupt+0x28/0x54 [ 14.339139] processsdiopendingirqs+0x68/0x1a0 [ 14.339144] sdioirqwork+0x40/0x70 [ 14.339154] processonework+0x184/0x39c [ 14.339160] workerthread+0x228/0x3e8 [ 14.339168] kthread+0x148/0x3ac [ 14.339176] retfrom_fork+0x10/0x30

That happened because hdev->poweron is already called before sdiosetdrvdata which btmtksdiointerrupt handler relies on is not properly set up.

The details are shown as the below: hciregisterdev would run queuework(hdev->reqworkqueue, &hdev->poweron) as WQHIGHPRI workqueuestruct to complete the power-on sequeunce and thus hcipoweron may run before sdiosetdrvdata is done in btmtksdioprobe.

The hcidevdoopen in hcipoweron would initialize the device and enable the interrupt and thus it is possible that btmtksdiointerrupt is being called right before sdiosetdrvdata is filled out.

When btmtksdiointerrupt is being called and sdiosetdrvdata is not filled , the kernel oops is going to happen because btmtksdiointerrupt access an uninitialized pointer.

Database specific
{
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/49xxx/CVE-2022-49200.json",
    "cna_assigner": "Linux"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
9aebfd4a2200ab8075e44379c758bccefdc589bb
Fixed
874eca93966a786eace87fa6dfb206c2dd9519b1
Fixed
70a6cf749d9ff9f463490248322e5343199bc267
Fixed
770a97d3f34b801de1b04737b43e02c55118c41a
Fixed
4d3d1f2c35a19988d3c5f0ee86038b525e830840
Fixed
6d7be5afbb41c918d2f12f857f8c7efa50500be2
Fixed
b062a0b9c1dc1ff63094337dccfe1568d5b62023

Database specific

source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2022-49200.json"