In the Linux kernel, the following vulnerability has been resolved:
dmaengine: idxd: Fix possible Use-After-Free in irqprocesswork_list
Use listforeachentrysafe() to allow iterating through the list and deleting the entry in the iteration process. The descriptor is freed via idxddesccomplete() and there's a slight chance may cause issue for the list iterator when the descriptor is reused by another thread without it being deleted from the list.
[
{
"target": {
"file": "drivers/dma/idxd/irq.c"
},
"signature_version": "v1",
"digest": {
"line_hashes": [
"94305155235767079843960087383669188041",
"57593850461772547883226076769799200026",
"257490172230371103315095108535282262303",
"125741370772961516730309159143533837767"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@83163667d881100a485b6c2daa30301b7f68d9b5",
"deprecated": false,
"id": "CVE-2024-40956-28dd9665",
"signature_type": "Line"
},
{
"target": {
"function": "irq_process_work_list",
"file": "drivers/dma/idxd/irq.c"
},
"signature_version": "v1",
"digest": {
"length": 647.0,
"function_hash": "288766332988679015494482101708850754109"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1b08bf5a17c66ab7dbb628df5344da53c8e7ab33",
"deprecated": false,
"id": "CVE-2024-40956-36d6a4f7",
"signature_type": "Function"
},
{
"target": {
"file": "drivers/dma/idxd/irq.c"
},
"signature_version": "v1",
"digest": {
"line_hashes": [
"94305155235767079843960087383669188041",
"57593850461772547883226076769799200026",
"324061614109403687457830651407752717310",
"141837634248531682949579989056011466513"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1b08bf5a17c66ab7dbb628df5344da53c8e7ab33",
"deprecated": false,
"id": "CVE-2024-40956-41c216f6",
"signature_type": "Line"
},
{
"target": {
"function": "irq_process_work_list",
"file": "drivers/dma/idxd/irq.c"
},
"signature_version": "v1",
"digest": {
"length": 632.0,
"function_hash": "210845981861336606742515123668439494000"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a14968921486793f2a956086895c3793761309dd",
"deprecated": false,
"id": "CVE-2024-40956-5633a510",
"signature_type": "Function"
},
{
"target": {
"file": "drivers/dma/idxd/irq.c"
},
"signature_version": "v1",
"digest": {
"line_hashes": [
"94305155235767079843960087383669188041",
"57593850461772547883226076769799200026",
"166886659468831043471400287571115324155",
"45728496847673062244668374949631966200"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a14968921486793f2a956086895c3793761309dd",
"deprecated": false,
"id": "CVE-2024-40956-5f6db2b9",
"signature_type": "Line"
},
{
"target": {
"file": "drivers/dma/idxd/irq.c"
},
"signature_version": "v1",
"digest": {
"line_hashes": [
"94305155235767079843960087383669188041",
"57593850461772547883226076769799200026",
"166886659468831043471400287571115324155",
"45728496847673062244668374949631966200"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e3215deca4520773cd2b155bed164c12365149a7",
"deprecated": false,
"id": "CVE-2024-40956-9475cfdd",
"signature_type": "Line"
},
{
"target": {
"file": "drivers/dma/idxd/irq.c"
},
"signature_version": "v1",
"digest": {
"line_hashes": [
"94305155235767079843960087383669188041",
"57593850461772547883226076769799200026",
"257490172230371103315095108535282262303",
"125741370772961516730309159143533837767"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@faa35db78b058a2ab6e074ee283f69fa398c36a8",
"deprecated": false,
"id": "CVE-2024-40956-a66d26d1",
"signature_type": "Line"
},
{
"target": {
"function": "irq_process_work_list",
"file": "drivers/dma/idxd/irq.c"
},
"signature_version": "v1",
"digest": {
"length": 632.0,
"function_hash": "210845981861336606742515123668439494000"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e3215deca4520773cd2b155bed164c12365149a7",
"deprecated": false,
"id": "CVE-2024-40956-c37ff3e3",
"signature_type": "Function"
},
{
"target": {
"function": "irq_process_work_list",
"file": "drivers/dma/idxd/irq.c"
},
"signature_version": "v1",
"digest": {
"length": 632.0,
"function_hash": "210845981861336606742515123668439494000"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@faa35db78b058a2ab6e074ee283f69fa398c36a8",
"deprecated": false,
"id": "CVE-2024-40956-f3fb2830",
"signature_type": "Function"
},
{
"target": {
"function": "irq_process_work_list",
"file": "drivers/dma/idxd/irq.c"
},
"signature_version": "v1",
"digest": {
"length": 632.0,
"function_hash": "210845981861336606742515123668439494000"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@83163667d881100a485b6c2daa30301b7f68d9b5",
"deprecated": false,
"id": "CVE-2024-40956-f4e70dc5",
"signature_type": "Function"
}
]