In the Linux kernel, the following vulnerability has been resolved:
serial: max310x: fix NULL pointer dereference in I2C instantiation
When trying to instantiate a max14830 device from userspace:
echo max14830 0x60 > /sys/bus/i2c/devices/i2c-2/new_device
we get the following error:
Unable to handle kernel NULL pointer dereference at virtual address...
...
Call trace:
max310x_i2c_probe+0x48/0x170 [max310x]
i2c_device_probe+0x150/0x2a0
...
Add check for validity of devtype to prevent the error, and abort probe with a meaningful error message.
[
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c45e53c27b78afd6c81fc25608003576f27b5735",
"signature_type": "Function",
"target": {
"function": "max310x_i2c_probe",
"file": "drivers/tty/serial/max310x.c"
},
"id": "CVE-2024-26978-050e745f",
"digest": {
"length": 750.0,
"function_hash": "152915863946278111916738753088075534768"
},
"deprecated": false
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7d271b798add90c6196539167c019d0817285cf0",
"signature_type": "Function",
"target": {
"function": "max310x_i2c_probe",
"file": "drivers/tty/serial/max310x.c"
},
"id": "CVE-2024-26978-181ffb88",
"digest": {
"length": 750.0,
"function_hash": "152915863946278111916738753088075534768"
},
"deprecated": false
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0d27056c24efd3d63a03f3edfbcfc4827086b110",
"signature_type": "Line",
"target": {
"file": "drivers/tty/serial/max310x.c"
},
"id": "CVE-2024-26978-302abb8e",
"digest": {
"line_hashes": [
"176882960375663774892974222136759401085",
"298817083277930966953534863420929195348",
"291830083617512575902490468306015980838",
"312515888580504506521476179172841965506",
"186118371386276972865117694178238911393",
"145302473883618746684660952555196270793",
"313473913695387237657564896122859157275",
"113011563577735222794299284755271040332",
"200316767528452753290760077647765710379"
],
"threshold": 0.9
},
"deprecated": false
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c45e53c27b78afd6c81fc25608003576f27b5735",
"signature_type": "Line",
"target": {
"file": "drivers/tty/serial/max310x.c"
},
"id": "CVE-2024-26978-65159b0f",
"digest": {
"line_hashes": [
"176882960375663774892974222136759401085",
"298817083277930966953534863420929195348",
"291830083617512575902490468306015980838",
"312515888580504506521476179172841965506",
"186118371386276972865117694178238911393",
"145302473883618746684660952555196270793",
"313473913695387237657564896122859157275",
"113011563577735222794299284755271040332",
"200316767528452753290760077647765710379"
],
"threshold": 0.9
},
"deprecated": false
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5cd8af02b466e1beeae13e2de3dc58fcc7925e5a",
"signature_type": "Function",
"target": {
"function": "max310x_i2c_probe",
"file": "drivers/tty/serial/max310x.c"
},
"id": "CVE-2024-26978-a69e7891",
"digest": {
"length": 750.0,
"function_hash": "152915863946278111916738753088075534768"
},
"deprecated": false
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2160ad6861c4a21d3fa553d7b2aaec6634a37f8a",
"signature_type": "Line",
"target": {
"file": "drivers/tty/serial/max310x.c"
},
"id": "CVE-2024-26978-bd9d026f",
"digest": {
"line_hashes": [
"176882960375663774892974222136759401085",
"298817083277930966953534863420929195348",
"291830083617512575902490468306015980838",
"312515888580504506521476179172841965506",
"186118371386276972865117694178238911393",
"145302473883618746684660952555196270793",
"313473913695387237657564896122859157275",
"113011563577735222794299284755271040332",
"200316767528452753290760077647765710379"
],
"threshold": 0.9
},
"deprecated": false
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5cd8af02b466e1beeae13e2de3dc58fcc7925e5a",
"signature_type": "Line",
"target": {
"file": "drivers/tty/serial/max310x.c"
},
"id": "CVE-2024-26978-d9f172dd",
"digest": {
"line_hashes": [
"176882960375663774892974222136759401085",
"298817083277930966953534863420929195348",
"291830083617512575902490468306015980838",
"312515888580504506521476179172841965506",
"186118371386276972865117694178238911393",
"145302473883618746684660952555196270793",
"313473913695387237657564896122859157275",
"113011563577735222794299284755271040332",
"200316767528452753290760077647765710379"
],
"threshold": 0.9
},
"deprecated": false
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7d271b798add90c6196539167c019d0817285cf0",
"signature_type": "Line",
"target": {
"file": "drivers/tty/serial/max310x.c"
},
"id": "CVE-2024-26978-dd8e5e0b",
"digest": {
"line_hashes": [
"176882960375663774892974222136759401085",
"298817083277930966953534863420929195348",
"291830083617512575902490468306015980838",
"312515888580504506521476179172841965506",
"186118371386276972865117694178238911393",
"145302473883618746684660952555196270793",
"313473913695387237657564896122859157275",
"113011563577735222794299284755271040332",
"200316767528452753290760077647765710379"
],
"threshold": 0.9
},
"deprecated": false
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2160ad6861c4a21d3fa553d7b2aaec6634a37f8a",
"signature_type": "Function",
"target": {
"function": "max310x_i2c_probe",
"file": "drivers/tty/serial/max310x.c"
},
"id": "CVE-2024-26978-f7a24417",
"digest": {
"length": 750.0,
"function_hash": "152915863946278111916738753088075534768"
},
"deprecated": false
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0d27056c24efd3d63a03f3edfbcfc4827086b110",
"signature_type": "Function",
"target": {
"function": "max310x_i2c_probe",
"file": "drivers/tty/serial/max310x.c"
},
"id": "CVE-2024-26978-f90564b4",
"digest": {
"length": 750.0,
"function_hash": "152915863946278111916738753088075534768"
},
"deprecated": false
}
]