In the Linux kernel, the following vulnerability has been resolved:
Bluetooth: hcisysfs: Fix attempting to call deviceadd multiple times
device_add shall not be called multiple times as stated in its documentation:
'Do not call this routine or device_register() more than once for any device structure'
Syzkaller reports a bug as follows [1]: ------------[ cut here ]------------ kernel BUG at lib/listdebug.c:33! invalid opcode: 0000 [#1] PREEMPT SMP KASAN [...] Call Trace: <TASK> _listadd include/linux/list.h:69 [inline] listaddtail include/linux/list.h:102 [inline] kobjksetjoin lib/kobject.c:164 [inline] kobjectaddinternal+0x18f/0x8f0 lib/kobject.c:214 kobjectaddvarg lib/kobject.c:358 [inline] kobjectadd+0x150/0x1c0 lib/kobject.c:410 deviceadd+0x368/0x1e90 drivers/base/core.c:3452 hciconnaddsysfs+0x9b/0x1b0 net/bluetooth/hcisysfs.c:53 hcilecisestabilishedevt+0x57c/0xae0 net/bluetooth/hcievent.c:6799 hcilemetaevt+0x2b8/0x510 net/bluetooth/hcievent.c:7110 hcieventfunc net/bluetooth/hcievent.c:7440 [inline] hcieventpacket+0x63d/0xfd0 net/bluetooth/hcievent.c:7495 hcirxwork+0xae7/0x1230 net/bluetooth/hcicore.c:4007 processonework+0x991/0x1610 kernel/workqueue.c:2289 workerthread+0x665/0x1080 kernel/workqueue.c:2436 kthread+0x2e4/0x3a0 kernel/kthread.c:376 retfromfork+0x1f/0x30 arch/x86/entry/entry_64.S:306 </TASK>
[
{
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "net/bluetooth/hci_sysfs.c"
},
"digest": {
"line_hashes": [
"21969701384260386215754461960004068038",
"97880184742134955473952829992981738772",
"115795300082223508151045669584736298175"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6144423712d570247b8ca26e50a277c30dd13702",
"signature_type": "Line",
"id": "CVE-2022-50419-01f002ab"
},
{
"signature_version": "v1",
"deprecated": false,
"target": {
"function": "hci_conn_add_sysfs",
"file": "net/bluetooth/hci_sysfs.c"
},
"digest": {
"function_hash": "22655300996534571031109802739206487804",
"length": 301.0
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1b6c89571f453101251201f0fad1c26f7256e937",
"signature_type": "Function",
"id": "CVE-2022-50419-156457e0"
},
{
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "net/bluetooth/hci_sysfs.c"
},
"digest": {
"line_hashes": [
"21969701384260386215754461960004068038",
"97880184742134955473952829992981738772",
"98918908880763733677614680975770861950"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3423a50fa018e88aed4c900d59c3c8334d8ad583",
"signature_type": "Line",
"id": "CVE-2022-50419-1d8fdd0b"
},
{
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "net/bluetooth/hci_sysfs.c"
},
"digest": {
"line_hashes": [
"21969701384260386215754461960004068038",
"97880184742134955473952829992981738772",
"115795300082223508151045669584736298175"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4bcefec3636208b4c97536b26014d5935d5c10a0",
"signature_type": "Line",
"id": "CVE-2022-50419-22c54295"
},
{
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "net/bluetooth/hci_sysfs.c"
},
"digest": {
"line_hashes": [
"21969701384260386215754461960004068038",
"97880184742134955473952829992981738772",
"98918908880763733677614680975770861950"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@448a496f760664d3e2e79466aa1787e6abc922b5",
"signature_type": "Line",
"id": "CVE-2022-50419-306dafc1"
},
{
"signature_version": "v1",
"deprecated": false,
"target": {
"function": "hci_conn_add_sysfs",
"file": "net/bluetooth/hci_sysfs.c"
},
"digest": {
"function_hash": "22655300996534571031109802739206487804",
"length": 301.0
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6e85d2ad958c6f034b1b158d904019869dbb3c81",
"signature_type": "Function",
"id": "CVE-2022-50419-3ef690e9"
},
{
"signature_version": "v1",
"deprecated": false,
"target": {
"function": "hci_conn_add_sysfs",
"file": "net/bluetooth/hci_sysfs.c"
},
"digest": {
"function_hash": "22655300996534571031109802739206487804",
"length": 301.0
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@448a496f760664d3e2e79466aa1787e6abc922b5",
"signature_type": "Function",
"id": "CVE-2022-50419-44939e58"
},
{
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "net/bluetooth/hci_sysfs.c"
},
"digest": {
"line_hashes": [
"21969701384260386215754461960004068038",
"97880184742134955473952829992981738772",
"98918908880763733677614680975770861950"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7b674dce4162bb46d396586e30e4653427023875",
"signature_type": "Line",
"id": "CVE-2022-50419-4903cb30"
},
{
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "net/bluetooth/hci_sysfs.c"
},
"digest": {
"line_hashes": [
"21969701384260386215754461960004068038",
"97880184742134955473952829992981738772",
"98918908880763733677614680975770861950"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6e85d2ad958c6f034b1b158d904019869dbb3c81",
"signature_type": "Line",
"id": "CVE-2022-50419-56714a13"
},
{
"signature_version": "v1",
"deprecated": false,
"target": {
"function": "hci_conn_add_sysfs",
"file": "net/bluetooth/hci_sysfs.c"
},
"digest": {
"function_hash": "230776802277338974708272203471336848825",
"length": 295.0
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4bcefec3636208b4c97536b26014d5935d5c10a0",
"signature_type": "Function",
"id": "CVE-2022-50419-73aea111"
},
{
"signature_version": "v1",
"deprecated": false,
"target": {
"function": "hci_conn_add_sysfs",
"file": "net/bluetooth/hci_sysfs.c"
},
"digest": {
"function_hash": "22655300996534571031109802739206487804",
"length": 301.0
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7b674dce4162bb46d396586e30e4653427023875",
"signature_type": "Function",
"id": "CVE-2022-50419-8a99f7da"
},
{
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "net/bluetooth/hci_sysfs.c"
},
"digest": {
"line_hashes": [
"21969701384260386215754461960004068038",
"97880184742134955473952829992981738772",
"98918908880763733677614680975770861950"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@671fee73e08ff415d36a7c16bdf238927df83884",
"signature_type": "Line",
"id": "CVE-2022-50419-93d0d78b"
},
{
"signature_version": "v1",
"deprecated": false,
"target": {
"function": "hci_conn_add_sysfs",
"file": "net/bluetooth/hci_sysfs.c"
},
"digest": {
"function_hash": "22655300996534571031109802739206487804",
"length": 301.0
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3423a50fa018e88aed4c900d59c3c8334d8ad583",
"signature_type": "Function",
"id": "CVE-2022-50419-9ddc5442"
},
{
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "net/bluetooth/hci_sysfs.c"
},
"digest": {
"line_hashes": [
"21969701384260386215754461960004068038",
"97880184742134955473952829992981738772",
"98918908880763733677614680975770861950"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ef055094df4c10b73cfe67c8d43f9de1fb608a8b",
"signature_type": "Line",
"id": "CVE-2022-50419-9e129c4e"
},
{
"signature_version": "v1",
"deprecated": false,
"target": {
"function": "hci_conn_add_sysfs",
"file": "net/bluetooth/hci_sysfs.c"
},
"digest": {
"function_hash": "22655300996534571031109802739206487804",
"length": 301.0
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@671fee73e08ff415d36a7c16bdf238927df83884",
"signature_type": "Function",
"id": "CVE-2022-50419-a74ef6b0"
},
{
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "net/bluetooth/hci_sysfs.c"
},
"digest": {
"line_hashes": [
"21969701384260386215754461960004068038",
"97880184742134955473952829992981738772",
"98918908880763733677614680975770861950"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1b6c89571f453101251201f0fad1c26f7256e937",
"signature_type": "Line",
"id": "CVE-2022-50419-b60e94c9"
},
{
"signature_version": "v1",
"deprecated": false,
"target": {
"function": "hci_conn_add_sysfs",
"file": "net/bluetooth/hci_sysfs.c"
},
"digest": {
"function_hash": "22655300996534571031109802739206487804",
"length": 301.0
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ef055094df4c10b73cfe67c8d43f9de1fb608a8b",
"signature_type": "Function",
"id": "CVE-2022-50419-f9f2ee88"
},
{
"signature_version": "v1",
"deprecated": false,
"target": {
"function": "hci_conn_add_sysfs",
"file": "net/bluetooth/hci_sysfs.c"
},
"digest": {
"function_hash": "230776802277338974708272203471336848825",
"length": 295.0
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6144423712d570247b8ca26e50a277c30dd13702",
"signature_type": "Function",
"id": "CVE-2022-50419-fcca0b71"
}
]