In the Linux kernel, the following vulnerability has been resolved:
um: net: Do not use drvdata in release
The drvdata is not available in release. Let's just use containerof() to get the umlnet instance. Otherwise, removing a network device will result in a crash:
RIP: 0033:netdevicerelease+0x10/0x6f RSP: 00000000e20c7c40 EFLAGS: 00010206 RAX: 000000006002e4e7 RBX: 00000000600f1baf RCX: 00000000624074e0 RDX: 0000000062778000 RSI: 0000000060551c80 RDI: 00000000627af028 RBP: 00000000e20c7c50 R08: 00000000603ad594 R09: 00000000e20c7b70 R10: 000000000000135a R11: 00000000603ad422 R12: 0000000000000000 R13: 0000000062c7af00 R14: 0000000062406d60 R15: 00000000627700b6 Kernel panic - not syncing: Segfault with no mm CPU: 0 UID: 0 PID: 29 Comm: kworker/0:2 Not tainted 6.12.0-rc6-g59b723cd2adb #1 Workqueue: events mcworkproc Stack: 627af028 62c7af00 e20c7c80 60276fcd 62778000 603f5820 627af028 00000000 e20c7cb0 603a2bcd 627af000 62770010 Call Trace: [<60276fcd>] devicerelease+0x70/0xba [<603a2bcd>] kobjectput+0xba/0xe7 [<60277265>] putdevice+0x19/0x1c [<60281266>] platformdeviceput+0x26/0x29 [<60281e5f>] platformdeviceunregister+0x2c/0x2e [<6002ec9c>] netremove+0x63/0x69 [<60031316>] ? mconsolereply+0x0/0x50 [<600310c8>] mconsoleremove+0x160/0x1cc [<60087d40>] ? _removehrtimer+0x38/0x74 [<60087ff8>] ? hrtimertrytocancel+0x8c/0x98 [<6006b3cf>] ? dlserverstop+0x3f/0x48 [<6006b390>] ? dlserverstop+0x0/0x48 [<600672e8>] ? dequeueentities+0x327/0x390 [<60038fa6>] ? umsetsignals+0x0/0x43 [<6003070c>] mcworkproc+0x77/0x91 [<60057664>] processscheduledworks+0x1b3/0x2dd [<60055f32>] ? assignwork+0x0/0x58 [<60057f0a>] workerthread+0x1e9/0x293 [<6005406f>] ? setpfworker+0x0/0x64 [<6005d65d>] ? archlocalirqsave+0x0/0x2d [<6005d748>] ? kthreadexit+0x0/0x3a [<60057d21>] ? workerthread+0x0/0x293 [<6005dbf1>] kthread+0x126/0x12b [<600219c5>] newthread_handler+0x85/0xb6
[
{
"id": "CVE-2024-53183-00bf1f43",
"target": {
"file": "arch/um/drivers/net_kern.c"
},
"digest": {
"line_hashes": [
"180142635649511497316674795602341720828",
"265041761484437399458299301788951427466",
"106642123620986898720578908756270637301",
"242981341383811574265866429736933764949"
],
"threshold": 0.9
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6be99d4c117b9642a44d9f54f034b67615be2b2b",
"signature_type": "Line"
},
{
"id": "CVE-2024-53183-0add0a2e",
"target": {
"function": "net_device_release",
"file": "arch/um/drivers/net_kern.c"
},
"digest": {
"length": 276.0,
"function_hash": "132508793765826768542696841565888034905"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8d9d174d3f55daaf5e7b48e9d7f53c723adbed86",
"signature_type": "Function"
},
{
"id": "CVE-2024-53183-0bb3b6e0",
"target": {
"function": "net_device_release",
"file": "arch/um/drivers/net_kern.c"
},
"digest": {
"length": 276.0,
"function_hash": "132508793765826768542696841565888034905"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1635d9a0ff1b8bd7aa4767d4ea7b3de72cd36f28",
"signature_type": "Function"
},
{
"id": "CVE-2024-53183-13b43408",
"target": {
"file": "arch/um/drivers/net_kern.c"
},
"digest": {
"line_hashes": [
"180142635649511497316674795602341720828",
"265041761484437399458299301788951427466",
"106642123620986898720578908756270637301",
"242981341383811574265866429736933764949"
],
"threshold": 0.9
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8d9d174d3f55daaf5e7b48e9d7f53c723adbed86",
"signature_type": "Line"
},
{
"id": "CVE-2024-53183-1c6f5a95",
"target": {
"function": "net_device_release",
"file": "arch/um/drivers/net_kern.c"
},
"digest": {
"length": 276.0,
"function_hash": "132508793765826768542696841565888034905"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b174ab33aaafd556a1ead72fa8e35d70b6fb1e39",
"signature_type": "Function"
},
{
"id": "CVE-2024-53183-4acbb82f",
"target": {
"file": "arch/um/drivers/net_kern.c"
},
"digest": {
"line_hashes": [
"180142635649511497316674795602341720828",
"265041761484437399458299301788951427466",
"106642123620986898720578908756270637301",
"242981341383811574265866429736933764949"
],
"threshold": 0.9
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b174ab33aaafd556a1ead72fa8e35d70b6fb1e39",
"signature_type": "Line"
},
{
"id": "CVE-2024-53183-6f9400ba",
"target": {
"file": "arch/um/drivers/net_kern.c"
},
"digest": {
"line_hashes": [
"180142635649511497316674795602341720828",
"265041761484437399458299301788951427466",
"106642123620986898720578908756270637301",
"242981341383811574265866429736933764949"
],
"threshold": 0.9
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@468c2e5394afc848efb1eae6e1961a3c855cf35e",
"signature_type": "Line"
},
{
"id": "CVE-2024-53183-75e51001",
"target": {
"file": "arch/um/drivers/net_kern.c"
},
"digest": {
"line_hashes": [
"180142635649511497316674795602341720828",
"265041761484437399458299301788951427466",
"106642123620986898720578908756270637301",
"242981341383811574265866429736933764949"
],
"threshold": 0.9
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d1db692a9be3b4bd3473b64fcae996afaffe8438",
"signature_type": "Line"
},
{
"id": "CVE-2024-53183-85bb6702",
"target": {
"function": "net_device_release",
"file": "arch/um/drivers/net_kern.c"
},
"digest": {
"length": 276.0,
"function_hash": "132508793765826768542696841565888034905"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d1db692a9be3b4bd3473b64fcae996afaffe8438",
"signature_type": "Function"
},
{
"id": "CVE-2024-53183-8e5b7ff4",
"target": {
"file": "arch/um/drivers/net_kern.c"
},
"digest": {
"line_hashes": [
"180142635649511497316674795602341720828",
"265041761484437399458299301788951427466",
"106642123620986898720578908756270637301",
"242981341383811574265866429736933764949"
],
"threshold": 0.9
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cdbd5a1dcdc2c27ac076f91b03b9add3fefa1a82",
"signature_type": "Line"
},
{
"id": "CVE-2024-53183-a097cfb9",
"target": {
"function": "net_device_release",
"file": "arch/um/drivers/net_kern.c"
},
"digest": {
"length": 276.0,
"function_hash": "132508793765826768542696841565888034905"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@160cd5f956d191eb97664afd31ca59284c08d876",
"signature_type": "Function"
},
{
"id": "CVE-2024-53183-a66b2b67",
"target": {
"function": "net_device_release",
"file": "arch/um/drivers/net_kern.c"
},
"digest": {
"length": 276.0,
"function_hash": "132508793765826768542696841565888034905"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6be99d4c117b9642a44d9f54f034b67615be2b2b",
"signature_type": "Function"
},
{
"id": "CVE-2024-53183-a6fb329d",
"target": {
"function": "net_device_release",
"file": "arch/um/drivers/net_kern.c"
},
"digest": {
"length": 276.0,
"function_hash": "132508793765826768542696841565888034905"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cdbd5a1dcdc2c27ac076f91b03b9add3fefa1a82",
"signature_type": "Function"
},
{
"id": "CVE-2024-53183-a9ff7a7a",
"target": {
"function": "net_device_release",
"file": "arch/um/drivers/net_kern.c"
},
"digest": {
"length": 276.0,
"function_hash": "132508793765826768542696841565888034905"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f04cd022ee1fde219e0db1086c27a0a5ba1914db",
"signature_type": "Function"
},
{
"id": "CVE-2024-53183-b86b0263",
"target": {
"file": "arch/um/drivers/net_kern.c"
},
"digest": {
"line_hashes": [
"180142635649511497316674795602341720828",
"265041761484437399458299301788951427466",
"106642123620986898720578908756270637301",
"242981341383811574265866429736933764949"
],
"threshold": 0.9
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1635d9a0ff1b8bd7aa4767d4ea7b3de72cd36f28",
"signature_type": "Line"
},
{
"id": "CVE-2024-53183-cf95e681",
"target": {
"file": "arch/um/drivers/net_kern.c"
},
"digest": {
"line_hashes": [
"180142635649511497316674795602341720828",
"265041761484437399458299301788951427466",
"106642123620986898720578908756270637301",
"242981341383811574265866429736933764949"
],
"threshold": 0.9
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f04cd022ee1fde219e0db1086c27a0a5ba1914db",
"signature_type": "Line"
},
{
"id": "CVE-2024-53183-f8ceb32b",
"target": {
"file": "arch/um/drivers/net_kern.c"
},
"digest": {
"line_hashes": [
"180142635649511497316674795602341720828",
"265041761484437399458299301788951427466",
"106642123620986898720578908756270637301",
"242981341383811574265866429736933764949"
],
"threshold": 0.9
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@160cd5f956d191eb97664afd31ca59284c08d876",
"signature_type": "Line"
},
{
"id": "CVE-2024-53183-fbe096b9",
"target": {
"function": "net_device_release",
"file": "arch/um/drivers/net_kern.c"
},
"digest": {
"length": 276.0,
"function_hash": "132508793765826768542696841565888034905"
},
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@468c2e5394afc848efb1eae6e1961a3c855cf35e",
"signature_type": "Function"
}
]