CVE-2026-64236
Full vulnerability record from the local CVENow database.
Description
In the Linux kernel, the following vulnerability has been resolved: i2c: davinci: fix division by zero on missing clock-frequency When the 'clock-frequency' property is missing from the device tree, the driver falls back to DAVINCI_I2C_DEFAULT_BUS_FREQ. However, this macro was defined in kHz (100), whereas the device tree property is expected in Hz. The probe function divided the fallback value by 1000, causing integer truncation that resulted in dev->bus_freq = 0. This triggered a deterministic division-by-zero kernel panic when calculating clock dividers later in the probe sequence. Fix this by redefining DAVINCI_I2C_DEFAULT_BUS_FREQ in Hz (100000) to match the expected device tree property unit, allowing the existing division logic to work correctly for both cases.
View original CVE JSON
{
"id": "CVE-2026-64236",
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"published": "2026-07-24T16:16:52.860",
"lastModified": "2026-10-27T18:10:00.130",
"vulnStatus": "Analyzed",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\ni2c: davinci: fix division by zero on missing clock-frequency\n\nWhen the 'clock-frequency' property is missing from the device tree,\nthe driver falls back to DAVINCI_I2C_DEFAULT_BUS_FREQ. However, this\nmacro was defined in kHz (100), whereas the device tree property is\nexpected in Hz.\n\nThe probe function divided the fallback value by 1000, causing\ninteger truncation that resulted in dev->bus_freq = 0. This triggered\na deterministic division-by-zero kernel panic when calculating clock\ndividers later in the probe sequence.\n\nFix this by redefining DAVINCI_I2C_DEFAULT_BUS_FREQ in Hz (100000)\nto match the expected device tree property unit, allowing the existing\ndivision logic to work correctly for both cases."
},
{
"lang": "es",
"value": "En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:\n\ni2c: davinci: corregir división por cero por falta de ’clock-frequency’\n\nCuando la propiedad ’clock-frequency’ falta del árbol de dispositivos, el controlador recurre a DAVINCI_I2C_DEFAULT_BUS_FREQ. Sin embargo, esta macro fue definida en kHz (100), mientras que la propiedad del árbol de dispositivos se espera en Hz.\n\nLa función de sondeo dividió el valor de respaldo por 1000, causando un truncamiento de enteros que resultó en dev -> bus_freq = 0. Esto desencadenó un pánico de kernel determinista por división por cero al calcular los divisores de reloj más tarde en la secuencia de sondeo.\n\nCorregir esto redefiniendo DAVINCI_I2C_DEFAULT_BUS_FREQ en Hz (100000) para que coincida con la unidad de propiedad esperada del árbol de dispositivos, permitiendo que la lógica de división existente funcione correctamente para ambos casos."
}
],
"affected": [
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"affectedData": [
{
"vendor": "Linux",
"product": "Linux",
"defaultStatus": "unaffected",
"programFiles": [
"drivers/i2c/busses/i2c-davinci.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"versions": [
{
"version": "b04ce63859793e3439b394976b8d29e785d4d69a",
"lessThan": "3f43865cb64dd7cb50efae1281a95585617b12a1",
"versionType": "git",
"status": "affected"
},
{
"version": "b04ce63859793e3439b394976b8d29e785d4d69a",
"lessThan": "9b694bc0e1831cbc5c3bbfd1b156ec719128f7d9",
"versionType": "git",
"status": "affected"
},
{
"version": "b04ce63859793e3439b394976b8d29e785d4d69a",
"lessThan": "030675aa54cf757769b3db65642433d626b3ed7c",
"versionType": "git",
"status": "affected"
}
]
},
{
"vendor": "Linux",
"product": "Linux",
"defaultStatus": "affected",
"programFiles": [
"drivers/i2c/busses/i2c-davinci.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"versions": [
{
"version": "6.14",
"status": "affected"
},
{
"version": "0",
"lessThan": "6.14",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.18.35",
"lessThanOrEqual": "6.18.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "7.0.12",
"lessThanOrEqual": "7.0.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "7.1",
"lessThanOrEqual": "*",
"versionType": "original_commit_for_fix",
"status": "unaffected"
}
]
}
]
}
],
"metrics": {
"cvssMetricV31": [
{
"source": "[email protected]",
"type": "Primary",
"cvssData": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H",
"baseScore": 5.5,
"baseSeverity": "MEDIUM",
"attackVector": "LOCAL",
"attackComplexity": "LOW",
"privilegesRequired": "LOW",
"userInteraction": "NONE",
"scope": "UNCHANGED",
"confidentialityImpact": "NONE",
"integrityImpact": "NONE",
"availabilityImpact": "HIGH"
},
"exploitabilityScore": 1.8,
"impactScore": 3.6
}
]
},
"weaknesses": [
{
"source": "[email protected]",
"type": "Primary",
"description": [
{
"lang": "en",
"value": "CWE-369"
}
]
}
],
"configurations": [
{
"nodes": [
{
"operator": "OR",
"negate": false,
"cpeMatch": [
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "6.14",
"versionEndExcluding": "6.18.35",
"matchCriteriaId": "C404AD58-4839-4D26-8300-E80C867013EF"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "6.19",
"versionEndExcluding": "7.0.12",
"matchCriteriaId": "9161A938-0FA8-44BC-95FE-C5A271601AB3"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:7.1:rc1:*:*:*:*:*:*",
"matchCriteriaId": "B1EF7059-E670-45F4-B422-54C40FA86390"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:7.1:rc2:*:*:*:*:*:*",
"matchCriteriaId": "0D38F0BF-A728-4133-A358-D44A2F7EE6D6"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:7.1:rc3:*:*:*:*:*:*",
"matchCriteriaId": "EC732D08-5F7B-46D9-B154-E60C7F4F0A97"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:7.1:rc4:*:*:*:*:*:*",
"matchCriteriaId": "E5910A9D-F60A-409A-B486-FE66BFEBA9B9"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:7.1:rc5:*:*:*:*:*:*",
"matchCriteriaId": "81DFF19E-9CF8-49C6-8C36-1E4038622933"
}
]
}
]
}
],
"references": [
{
"url": "https://git.kernel.org/stable/c/030675aa54cf757769b3db65642433d626b3ed7c",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"tags": [
"Patch"
]
},
{
"url": "https://git.kernel.org/stable/c/3f43865cb64dd7cb50efae1281a95585617b12a1",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"tags": [
"Patch"
]
},
{
"url": "https://git.kernel.org/stable/c/9b694bc0e1831cbc5c3bbfd1b156ec719128f7d9",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"tags": [
"Patch"
]
}
]
}