In the Linux kernel, the following vulnerability has been resolved:
ALSA: line6: Fix racy access to midibuf
There can be concurrent accesses to line6 midibuf from both the URB completion callback and the rawmidi API access. This could be a cause of KMSAN warning triggered by syzkaller below (so put as reported-by here).
This patch protects the midibuf call of the former code path with a spinlock for avoiding the possible races.
[
{
"signature_type": "Line",
"id": "CVE-2024-44954-011418d0",
"target": {
"file": "sound/usb/line6/driver.c"
},
"digest": {
"line_hashes": [
"280555269139843695502924947942918005283",
"45815542969511168740990878532417373626",
"81758908864816029745325507417196613065",
"38335587494061806012645418625600996406",
"17804399602405103935320193902199417578",
"297025377038447151890607977359054592044",
"168913862196697703757715832026242516337",
"64859583610622426787102473706779432749",
"103587066029862844597720842833138129171",
"107513337181180384046052367079729028425",
"241900153924006656326828504648470299882",
"196782757925928136091069132004237390871",
"188025462196710250793269050274313850118",
"2000700772338330997804560446496710368",
"238982910140084978705254231774867720209",
"93879151071138747198671910465604909067",
"223319162480172492379254777656044192918"
],
"threshold": 0.9
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@535df7f896a568a8a1564114eaea49d002cb1747",
"deprecated": false
},
{
"signature_type": "Function",
"id": "CVE-2024-44954-01b33337",
"target": {
"file": "sound/usb/line6/driver.c",
"function": "line6_data_received"
},
"digest": {
"function_hash": "241999281925690019087476503444605146314",
"length": 1019.0
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c80f454a805443c274394b1db0d1ebf477abd94e",
"deprecated": false
},
{
"signature_type": "Function",
"id": "CVE-2024-44954-1da15b2f",
"target": {
"file": "sound/usb/line6/driver.c",
"function": "line6_data_received"
},
"digest": {
"function_hash": "241999281925690019087476503444605146314",
"length": 1019.0
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e7e7d2b180d8f297cea6db43ea72402fd33e1a29",
"deprecated": false
},
{
"signature_type": "Line",
"id": "CVE-2024-44954-2387d47e",
"target": {
"file": "sound/usb/line6/driver.c"
},
"digest": {
"line_hashes": [
"280555269139843695502924947942918005283",
"45815542969511168740990878532417373626",
"81758908864816029745325507417196613065",
"38335587494061806012645418625600996406",
"17804399602405103935320193902199417578",
"297025377038447151890607977359054592044",
"168913862196697703757715832026242516337",
"64859583610622426787102473706779432749",
"103587066029862844597720842833138129171",
"107513337181180384046052367079729028425",
"241900153924006656326828504648470299882",
"196782757925928136091069132004237390871",
"188025462196710250793269050274313850118",
"2000700772338330997804560446496710368",
"238982910140084978705254231774867720209",
"93879151071138747198671910465604909067",
"223319162480172492379254777656044192918"
],
"threshold": 0.9
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a54da4b787dcac60b598da69c9c0072812b8282d",
"deprecated": false
},
{
"signature_type": "Function",
"id": "CVE-2024-44954-374c9d84",
"target": {
"file": "sound/usb/line6/driver.c",
"function": "line6_data_received"
},
"digest": {
"function_hash": "241999281925690019087476503444605146314",
"length": 1019.0
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@40f3d5cb0e0cbf7fa697913a27d5d361373bdcf5",
"deprecated": false
},
{
"signature_type": "Line",
"id": "CVE-2024-44954-3eb02c82",
"target": {
"file": "sound/usb/line6/driver.c"
},
"digest": {
"line_hashes": [
"280555269139843695502924947942918005283",
"45815542969511168740990878532417373626",
"81758908864816029745325507417196613065",
"38335587494061806012645418625600996406",
"17804399602405103935320193902199417578",
"297025377038447151890607977359054592044",
"168913862196697703757715832026242516337",
"64859583610622426787102473706779432749",
"103587066029862844597720842833138129171",
"107513337181180384046052367079729028425",
"241900153924006656326828504648470299882",
"196782757925928136091069132004237390871",
"188025462196710250793269050274313850118",
"2000700772338330997804560446496710368",
"238982910140084978705254231774867720209",
"93879151071138747198671910465604909067",
"223319162480172492379254777656044192918"
],
"threshold": 0.9
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c80f454a805443c274394b1db0d1ebf477abd94e",
"deprecated": false
},
{
"signature_type": "Function",
"id": "CVE-2024-44954-5c9b6d3b",
"target": {
"file": "sound/usb/line6/driver.c",
"function": "line6_data_received"
},
"digest": {
"function_hash": "241999281925690019087476503444605146314",
"length": 1019.0
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@535df7f896a568a8a1564114eaea49d002cb1747",
"deprecated": false
},
{
"signature_type": "Function",
"id": "CVE-2024-44954-7357b4ee",
"target": {
"file": "sound/usb/line6/driver.c",
"function": "line6_data_received"
},
"digest": {
"function_hash": "241999281925690019087476503444605146314",
"length": 1019.0
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a54da4b787dcac60b598da69c9c0072812b8282d",
"deprecated": false
},
{
"signature_type": "Line",
"id": "CVE-2024-44954-74343177",
"target": {
"file": "sound/usb/line6/driver.c"
},
"digest": {
"line_hashes": [
"280555269139843695502924947942918005283",
"45815542969511168740990878532417373626",
"81758908864816029745325507417196613065",
"38335587494061806012645418625600996406",
"17804399602405103935320193902199417578",
"297025377038447151890607977359054592044",
"168913862196697703757715832026242516337",
"64859583610622426787102473706779432749",
"103587066029862844597720842833138129171",
"107513337181180384046052367079729028425",
"241900153924006656326828504648470299882",
"196782757925928136091069132004237390871",
"188025462196710250793269050274313850118",
"2000700772338330997804560446496710368",
"238982910140084978705254231774867720209",
"93879151071138747198671910465604909067",
"223319162480172492379254777656044192918"
],
"threshold": 0.9
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@15b7a03205b31bc5623378c190d22b7ff60026f1",
"deprecated": false
},
{
"signature_type": "Line",
"id": "CVE-2024-44954-835bf56a",
"target": {
"file": "sound/usb/line6/driver.c"
},
"digest": {
"line_hashes": [
"280555269139843695502924947942918005283",
"45815542969511168740990878532417373626",
"81758908864816029745325507417196613065",
"38335587494061806012645418625600996406",
"17804399602405103935320193902199417578",
"297025377038447151890607977359054592044",
"168913862196697703757715832026242516337",
"64859583610622426787102473706779432749",
"103587066029862844597720842833138129171",
"107513337181180384046052367079729028425",
"241900153924006656326828504648470299882",
"196782757925928136091069132004237390871",
"188025462196710250793269050274313850118",
"2000700772338330997804560446496710368",
"238982910140084978705254231774867720209",
"93879151071138747198671910465604909067",
"223319162480172492379254777656044192918"
],
"threshold": 0.9
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e7e7d2b180d8f297cea6db43ea72402fd33e1a29",
"deprecated": false
},
{
"signature_type": "Line",
"id": "CVE-2024-44954-99a13191",
"target": {
"file": "sound/usb/line6/driver.c"
},
"digest": {
"line_hashes": [
"280555269139843695502924947942918005283",
"45815542969511168740990878532417373626",
"81758908864816029745325507417196613065",
"38335587494061806012645418625600996406",
"17804399602405103935320193902199417578",
"297025377038447151890607977359054592044",
"168913862196697703757715832026242516337",
"64859583610622426787102473706779432749",
"103587066029862844597720842833138129171",
"107513337181180384046052367079729028425",
"241900153924006656326828504648470299882",
"196782757925928136091069132004237390871",
"188025462196710250793269050274313850118",
"2000700772338330997804560446496710368",
"238982910140084978705254231774867720209",
"93879151071138747198671910465604909067",
"223319162480172492379254777656044192918"
],
"threshold": 0.9
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@643293b68fbb6c03f5e907736498da17d43f0d81",
"deprecated": false
},
{
"signature_type": "Line",
"id": "CVE-2024-44954-9f9954fb",
"target": {
"file": "sound/usb/line6/driver.c"
},
"digest": {
"line_hashes": [
"280555269139843695502924947942918005283",
"45815542969511168740990878532417373626",
"81758908864816029745325507417196613065",
"38335587494061806012645418625600996406",
"17804399602405103935320193902199417578",
"297025377038447151890607977359054592044",
"168913862196697703757715832026242516337",
"64859583610622426787102473706779432749",
"103587066029862844597720842833138129171",
"107513337181180384046052367079729028425",
"241900153924006656326828504648470299882",
"196782757925928136091069132004237390871",
"188025462196710250793269050274313850118",
"2000700772338330997804560446496710368",
"238982910140084978705254231774867720209",
"93879151071138747198671910465604909067",
"223319162480172492379254777656044192918"
],
"threshold": 0.9
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@40f3d5cb0e0cbf7fa697913a27d5d361373bdcf5",
"deprecated": false
},
{
"signature_type": "Line",
"id": "CVE-2024-44954-b59e8f71",
"target": {
"file": "sound/usb/line6/driver.c"
},
"digest": {
"line_hashes": [
"280555269139843695502924947942918005283",
"45815542969511168740990878532417373626",
"81758908864816029745325507417196613065",
"38335587494061806012645418625600996406",
"17804399602405103935320193902199417578",
"297025377038447151890607977359054592044",
"168913862196697703757715832026242516337",
"64859583610622426787102473706779432749",
"103587066029862844597720842833138129171",
"107513337181180384046052367079729028425",
"241900153924006656326828504648470299882",
"196782757925928136091069132004237390871",
"188025462196710250793269050274313850118",
"2000700772338330997804560446496710368",
"238982910140084978705254231774867720209",
"93879151071138747198671910465604909067",
"223319162480172492379254777656044192918"
],
"threshold": 0.9
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@51d87f11dd199bbc6a85982b088ff27bde53b48a",
"deprecated": false
},
{
"signature_type": "Function",
"id": "CVE-2024-44954-d96e2a1b",
"target": {
"file": "sound/usb/line6/driver.c",
"function": "line6_data_received"
},
"digest": {
"function_hash": "241999281925690019087476503444605146314",
"length": 1019.0
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@643293b68fbb6c03f5e907736498da17d43f0d81",
"deprecated": false
},
{
"signature_type": "Function",
"id": "CVE-2024-44954-f1dbfe87",
"target": {
"file": "sound/usb/line6/driver.c",
"function": "line6_data_received"
},
"digest": {
"function_hash": "241999281925690019087476503444605146314",
"length": 1019.0
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@15b7a03205b31bc5623378c190d22b7ff60026f1",
"deprecated": false
},
{
"signature_type": "Function",
"id": "CVE-2024-44954-f9b1362d",
"target": {
"file": "sound/usb/line6/driver.c",
"function": "line6_data_received"
},
"digest": {
"function_hash": "241999281925690019087476503444605146314",
"length": 1019.0
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@51d87f11dd199bbc6a85982b088ff27bde53b48a",
"deprecated": false
}
]