Skip to main content

Linux Kernel CVE-2026-64236

| EUVDEUVD-2026-48645 MEDIUM
Divide By Zero (CWE-369)
2026-07-24 Linux GHSA-hmfg-g42r-7r36
5.5
CVSS 3.1 · NVD
Share

Severity by source

NVD PRIMARY
5.5 MEDIUM
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
vuln.today AI
4.1 MEDIUM

Requires specific TI DaVinci hardware and a missing DT property (AC:H); device tree configuration is an administrative/privileged concern (PR:H); impact is availability-only with no confidentiality or integrity dimension.

3.1 AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:H
4.0 AV:L/AC:H/AT:P/PR:H/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
SUSE
MEDIUM
qualitative

Primary rating from NVD.

CVSS VectorNVD

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

5
Analysis Generated
Aug 12, 2026 - 19:28 vuln.today
CVSS changed
Aug 12, 2026 - 19:22 NVD
5.5 (MEDIUM)
Patch available
Jul 24, 2026 - 17:48 EUVD
CVE Published
Jul 24, 2026 - 15:27 nvd
MEDIUM 5.5
CVE Published
Jul 24, 2026 - 15:27 cve.org
UNKNOWN (no severity yet)

DescriptionNVD

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.

AnalysisAI

Division-by-zero kernel panic in the Linux kernel's i2c-davinci driver causes a deterministic system crash on TI DaVinci SoC-based hardware when the 'clock-frequency' device tree property is absent. The root cause is a unit mismatch: DAVINCI_I2C_DEFAULT_BUS_FREQ was defined in kHz (100) but the probe path divided it by 1000, producing dev->bus_freq = 0, which then triggers an unconditional divide-by-zero during clock divider calculation. Availability impact is complete (kernel panic), but exploitation requires specific embedded hardware context; no public exploit exists and EPSS is 0.15%, consistent with a reliability defect rather than an adversarially exploitable flaw.

Technical ContextAI

The i2c-davinci driver implements the I2C controller interface for Texas Instruments DaVinci and AM-series SoCs in the Linux kernel. CWE-369 (Divide By Zero) is the root cause class: when the device tree node for the i2c-davinci controller lacks a 'clock-frequency' property, the driver falls back to DAVINCI_I2C_DEFAULT_BUS_FREQ, previously defined as 100 (interpreted as kHz). The probe function then divided this by 1000 - intending a Hz-to-kHz normalization - producing integer truncation to zero for dev->bus_freq. A subsequent division using dev->bus_freq as a denominator during clock divider setup is therefore unconditional and deterministic, producing a kernel oops/panic. The fix redefines the macro as 100000 (Hz) so that the division yields the correct 100 kHz value. Affected products per CPE: cpe:2.3:a:linux:linux:* covers all Linux kernel versions carrying the unpatched i2c-davinci driver.

RemediationAI

The primary fix is upgrading to a patched Linux kernel: version 7.0.12 or 7.1 for the 7.x series, or 6.18.35 for the 6.x series, as appropriate for the deployed kernel branch. Upstream stable commits are available at https://git.kernel.org/stable/c/3f43865cb64dd7cb50efae1281a95585617b12a1, https://git.kernel.org/stable/c/9b694bc0e1831cbc5c3bbfd1b156ec719128f7d9, and https://git.kernel.org/stable/c/030675aa54cf757769b3db65642433d626b3ed7c. Ubuntu users should apply the packages described in USN-8618-1 at https://ubuntu.com/security/notices/USN-8618-1. As an immediate workaround on affected hardware where a kernel upgrade is not yet feasible, adding an explicit 'clock-frequency = <100000>;' property to the i2c-davinci controller node in the device tree source and rebuilding and deploying the DTB will prevent the fallback code path from executing, eliminating the divide-by-zero condition entirely. This workaround carries no functional side effects provided the specified frequency is within hardware capability and matches the intended I2C bus speed.

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Not-Affected
SUSE Linux Enterprise Desktop 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 16.0 Not-Affected

Share

CVE-2026-64236 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy