In the Linux kernel, the following vulnerability has been resolved:
Input: adp5589-keys - fix NULL pointer dereference
We register a devm action to call adp5589clearconfig() and then pass the i2c client as argument so that we can call i2cgetclientdata() in order to get our device object. However, i2csetclientdata() is only being set at the end of the probe function which means that we'll get a NULL pointer dereference in case the probe function fails early.
[
{
"signature_type": "Function",
"target": {
"function": "adp5589_clear_config",
"file": "drivers/input/keyboard/adp5589-keys.c"
},
"id": "CVE-2024-49871-1b057163",
"digest": {
"function_hash": "156447172856540336837826393286111203202",
"length": 165.0
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@fb5cc65f973661241e4a2b7390b429aa7b330c69",
"deprecated": false
},
{
"signature_type": "Function",
"target": {
"function": "adp5589_clear_config",
"file": "drivers/input/keyboard/adp5589-keys.c"
},
"id": "CVE-2024-49871-2cafeeee",
"digest": {
"function_hash": "156447172856540336837826393286111203202",
"length": 165.0
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@122b160561f6429701a0559a0f39b0ae309488c6",
"deprecated": false
},
{
"signature_type": "Function",
"target": {
"function": "adp5589_clear_config",
"file": "drivers/input/keyboard/adp5589-keys.c"
},
"id": "CVE-2024-49871-3086fef6",
"digest": {
"function_hash": "156447172856540336837826393286111203202",
"length": 165.0
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@34e304cc53ae5d3c8e3f08b41dd11e0d4f3e01ed",
"deprecated": false
},
{
"signature_type": "Line",
"target": {
"file": "drivers/input/keyboard/adp5589-keys.c"
},
"id": "CVE-2024-49871-46615413",
"digest": {
"threshold": 0.9,
"line_hashes": [
"126344237556801127732751331849376456953",
"59257215184100698343198249219782495636",
"80985393988006260303235254957167144285",
"159252503431725026876991274815945689369",
"170760381467697486103325270126241389782",
"202226314541512109037412803576419874451",
"147314861281790631785690841433937273302",
"190236650263526306246168875052890542063",
"30153863648983017572673032858135192387",
"55784671787289927630727609214952133960",
"313679105894881834993764985889504089956",
"288869383418151152617801329178483627210",
"20190975151790350587016380949153093090",
"177669445073471885807394519940542762991"
]
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4449fedb8a710043fc0925409eba844c192d4337",
"deprecated": false
},
{
"signature_type": "Function",
"target": {
"function": "adp5589_probe",
"file": "drivers/input/keyboard/adp5589-keys.c"
},
"id": "CVE-2024-49871-4fb8c247",
"digest": {
"function_hash": "244084535952330408102381475143628559942",
"length": 1364.0
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7c3f04223aaf82489472d614c6decee5a1ce8d7f",
"deprecated": false
},
{
"signature_type": "Function",
"target": {
"function": "adp5589_probe",
"file": "drivers/input/keyboard/adp5589-keys.c"
},
"id": "CVE-2024-49871-6372d77c",
"digest": {
"function_hash": "336732605249900839941356173590658443129",
"length": 1347.0
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4449fedb8a710043fc0925409eba844c192d4337",
"deprecated": false
},
{
"signature_type": "Line",
"target": {
"file": "drivers/input/keyboard/adp5589-keys.c"
},
"id": "CVE-2024-49871-64828dce",
"digest": {
"threshold": 0.9,
"line_hashes": [
"126344237556801127732751331849376456953",
"59257215184100698343198249219782495636",
"80985393988006260303235254957167144285",
"159252503431725026876991274815945689369",
"150179224708587386219410039625066453588",
"60824286017347874888233392006105416023",
"147314861281790631785690841433937273302",
"190236650263526306246168875052890542063",
"30153863648983017572673032858135192387",
"55784671787289927630727609214952133960",
"313679105894881834993764985889504089956",
"288869383418151152617801329178483627210",
"20190975151790350587016380949153093090",
"177669445073471885807394519940542762991"
]
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@122b160561f6429701a0559a0f39b0ae309488c6",
"deprecated": false
},
{
"signature_type": "Function",
"target": {
"function": "adp5589_probe",
"file": "drivers/input/keyboard/adp5589-keys.c"
},
"id": "CVE-2024-49871-7604e094",
"digest": {
"function_hash": "244084535952330408102381475143628559942",
"length": 1364.0
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@122b160561f6429701a0559a0f39b0ae309488c6",
"deprecated": false
},
{
"signature_type": "Function",
"target": {
"function": "adp5589_clear_config",
"file": "drivers/input/keyboard/adp5589-keys.c"
},
"id": "CVE-2024-49871-7b2a3968",
"digest": {
"function_hash": "156447172856540336837826393286111203202",
"length": 165.0
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7c3f04223aaf82489472d614c6decee5a1ce8d7f",
"deprecated": false
},
{
"signature_type": "Line",
"target": {
"file": "drivers/input/keyboard/adp5589-keys.c"
},
"id": "CVE-2024-49871-7d03bd5e",
"digest": {
"threshold": 0.9,
"line_hashes": [
"126344237556801127732751331849376456953",
"59257215184100698343198249219782495636",
"80985393988006260303235254957167144285",
"159252503431725026876991274815945689369",
"170760381467697486103325270126241389782",
"202226314541512109037412803576419874451",
"147314861281790631785690841433937273302",
"190236650263526306246168875052890542063",
"30153863648983017572673032858135192387",
"55784671787289927630727609214952133960",
"313679105894881834993764985889504089956",
"288869383418151152617801329178483627210",
"20190975151790350587016380949153093090",
"177669445073471885807394519940542762991"
]
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@34e304cc53ae5d3c8e3f08b41dd11e0d4f3e01ed",
"deprecated": false
},
{
"signature_type": "Line",
"target": {
"file": "drivers/input/keyboard/adp5589-keys.c"
},
"id": "CVE-2024-49871-937ae72d",
"digest": {
"threshold": 0.9,
"line_hashes": [
"126344237556801127732751331849376456953",
"59257215184100698343198249219782495636",
"80985393988006260303235254957167144285",
"159252503431725026876991274815945689369",
"150179224708587386219410039625066453588",
"60824286017347874888233392006105416023",
"147314861281790631785690841433937273302",
"190236650263526306246168875052890542063",
"30153863648983017572673032858135192387",
"55784671787289927630727609214952133960",
"313679105894881834993764985889504089956",
"288869383418151152617801329178483627210",
"20190975151790350587016380949153093090",
"177669445073471885807394519940542762991"
]
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7c3f04223aaf82489472d614c6decee5a1ce8d7f",
"deprecated": false
},
{
"signature_type": "Function",
"target": {
"function": "adp5589_probe",
"file": "drivers/input/keyboard/adp5589-keys.c"
},
"id": "CVE-2024-49871-9905dca0",
"digest": {
"function_hash": "244084535952330408102381475143628559942",
"length": 1364.0
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@fb5cc65f973661241e4a2b7390b429aa7b330c69",
"deprecated": false
},
{
"signature_type": "Function",
"target": {
"function": "adp5589_probe",
"file": "drivers/input/keyboard/adp5589-keys.c"
},
"id": "CVE-2024-49871-a0609f5f",
"digest": {
"function_hash": "244084535952330408102381475143628559942",
"length": 1364.0
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9a38791ee79bd17d225c15a6d1479448be127a59",
"deprecated": false
},
{
"signature_type": "Function",
"target": {
"function": "adp5589_probe",
"file": "drivers/input/keyboard/adp5589-keys.c"
},
"id": "CVE-2024-49871-a98fd9b4",
"digest": {
"function_hash": "336732605249900839941356173590658443129",
"length": 1347.0
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@34e304cc53ae5d3c8e3f08b41dd11e0d4f3e01ed",
"deprecated": false
},
{
"signature_type": "Line",
"target": {
"file": "drivers/input/keyboard/adp5589-keys.c"
},
"id": "CVE-2024-49871-c05e6091",
"digest": {
"threshold": 0.9,
"line_hashes": [
"126344237556801127732751331849376456953",
"59257215184100698343198249219782495636",
"80985393988006260303235254957167144285",
"159252503431725026876991274815945689369",
"150179224708587386219410039625066453588",
"60824286017347874888233392006105416023",
"147314861281790631785690841433937273302",
"190236650263526306246168875052890542063",
"30153863648983017572673032858135192387",
"55784671787289927630727609214952133960",
"313679105894881834993764985889504089956",
"288869383418151152617801329178483627210",
"20190975151790350587016380949153093090",
"177669445073471885807394519940542762991"
]
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9a38791ee79bd17d225c15a6d1479448be127a59",
"deprecated": false
},
{
"signature_type": "Function",
"target": {
"function": "adp5589_clear_config",
"file": "drivers/input/keyboard/adp5589-keys.c"
},
"id": "CVE-2024-49871-c19c05a3",
"digest": {
"function_hash": "156447172856540336837826393286111203202",
"length": 165.0
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4449fedb8a710043fc0925409eba844c192d4337",
"deprecated": false
},
{
"signature_type": "Line",
"target": {
"file": "drivers/input/keyboard/adp5589-keys.c"
},
"id": "CVE-2024-49871-db842a3e",
"digest": {
"threshold": 0.9,
"line_hashes": [
"126344237556801127732751331849376456953",
"59257215184100698343198249219782495636",
"80985393988006260303235254957167144285",
"159252503431725026876991274815945689369",
"150179224708587386219410039625066453588",
"60824286017347874888233392006105416023",
"147314861281790631785690841433937273302",
"190236650263526306246168875052890542063",
"30153863648983017572673032858135192387",
"55784671787289927630727609214952133960",
"313679105894881834993764985889504089956",
"288869383418151152617801329178483627210",
"20190975151790350587016380949153093090",
"177669445073471885807394519940542762991"
]
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@fb5cc65f973661241e4a2b7390b429aa7b330c69",
"deprecated": false
},
{
"signature_type": "Function",
"target": {
"function": "adp5589_clear_config",
"file": "drivers/input/keyboard/adp5589-keys.c"
},
"id": "CVE-2024-49871-f438d3a1",
"digest": {
"function_hash": "156447172856540336837826393286111203202",
"length": 165.0
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9a38791ee79bd17d225c15a6d1479448be127a59",
"deprecated": false
}
]