CVE-2025-38126

net: stmmac: make sure that ptp_rate is not 0 before configuring timestamping

MEDIUM
5.5
CVSS Score
Published: July 3, 2025 at 08:35 AM UTC
Updated: June 17, 2026 at 09:16 AM UTC
2 products affected across 2 vendorsLinux KernelDebian Linux

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
MEDIUM5.5
Exploit prediction
EPSS 0.2%

Description

In the Linux kernel, the following vulnerability has been resolved: net: stmmac: make sure that ptp_rate is not 0 before configuring timestamping The stmmac platform drivers that do not open-code the clk_ptp_rate value after having retrieved the default one from the device-tree can end up with 0 in clk_ptp_rate (as clk_get_rate can return 0). It will eventually propagate up to PTP initialization when bringing up the interface, leading to a divide by 0: Division by zero in kernel. CPU: 1 UID: 0 PID: 1 Comm: swapper/0 Not tainted 6.12.30-00001-g48313bd5768a #22 Hardware name: STM32 (Device Tree Support) Call trace: unwind_backtrace from show_stack+0x18/0x1c show_stack from dump_stack_lvl+0x6c/0x8c dump_stack_lvl from Ldiv0_64+0x8/0x18 Ldiv0_64 from stmmac_init_tstamp_counter+0x190/0x1a4 stmmac_init_tstamp_counter from stmmac_hw_setup+0xc1c/0x111c stmmac_hw_setup from __stmmac_open+0x18c/0x434 __stmmac_open from stmmac_open+0x3c/0xbc stmmac_open from __dev_open+0xf4/0x1ac __dev_open from __dev_change_flags+0x1cc/0x224 __dev_change_flags from dev_change_flags+0x24/0x60 dev_change_flags from ip_auto_config+0x2e8/0x11a0 ip_auto_config from do_one_initcall+0x84/0x33c do_one_initcall from kernel_init_freeable+0x1b8/0x214 kernel_init_freeable from kernel_init+0x24/0x140 kernel_init from ret_from_fork+0x14/0x28 Exception stack(0xe0815fb0 to 0xe0815ff8) Prevent this division by 0 by adding an explicit check and error log about the actual issue. While at it, remove the same check from stmmac_ptp_register, which then becomes duplicate

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

4.5 ≤ v < 6.1.1424.5 ≤ v < 6.12.344.5 ≤ v < 6.15.34.5 ≤ v < 6.164.5 ≤ v < 6.6.946.13 ≤ v < 6.15.36.2 ≤ v < 6.6.946.7 ≤ v < 6.12.3419d857c9038e5c07db8f8cc02b5ad0cd0098714f4.5
Vendor states this is fixed in 030ce919e114a111e83b7976ecb3597cefd33f26 (fixed)
Vendor states this is fixed in 32af9c289234990752281c805500dfe03c5b2b8f (fixed)
Vendor states this is fixed in 379cd990dfe752b38fcf46034698a9a150626c7a (fixed)
Vendor states this is fixed in b263088ee8ab14563817a8be3519af8e25225793 (fixed)
Vendor states this is fixed in bb033c6781ce1b0264c3993b767b4aa9021959c2 (fixed)
Vendor states this is fixed in 4.5 (unaffected)
Vendor states this is fixed in 6.1.142 (unaffected)
Vendor states this is fixed in 6.12.34 (unaffected)
Vendor states this is fixed in 6.15.3 (unaffected)
Vendor states this is fixed in 6.16 (unaffected)
Vendor states this is fixed in 6.6.94 (unaffected)

References (6)

Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/030ce919e114a111e83b7976ecb3597cefd33f26
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/32af9c289234990752281c805500dfe03c5b2b8f
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/379cd990dfe752b38fcf46034698a9a150626c7a
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/b263088ee8ab14563817a8be3519af8e25225793
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/bb033c6781ce1b0264c3993b767b4aa9021959c2
Third Party Advisory
Source: af854a3a-2127-422b-91ae-364da2661108
https://lists.debian.org/debian-lts-announce/2025/10/msg00008.html

CVSS

Attack Vector
LOCAL
Complexity
LOW
Privileges
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
NONE
Integrity
NONE
Availability
HIGH
Vector?

Quick Info

StatusANALYZED
CWE
CWE-369

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card