What happened
In the Linux kernel, the following vulnerability has been resolved: drop_monitor: fix size calculations for 64-bit attributes net_dm_packet_report_fill() and net_dm_hw_packet_report_fill() use nla_put_u64_64bit() to append 64-bit attributes (NET_DM_ATTR_PC and NET_DM_ATTR_TIMESTAMP). On 32-bit architectures without CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS, nla_put_u64_64bit() may append a 4-byte NET_DM_ATTR_PAD attribute for 64-bit alignment. However, net_dm_packet_report_size() and net_dm_hw_packet_report_size() used nla_total_size(sizeof(u64)) instead of nla_total_size_64bit(sizeof(u64)), budgeting 12 bytes instead of up to 16 bytes. This under-estimation of SKB size can lead to an skb_over_panic() when __nla_reserve() or skb_put() is subsequently called. Fix this by using nla_total_size_64bit(sizeof(u64)) in both size calculations.
Affected versions
Linux: ca30707dee2bc8bc81cfd8b4277fe90f7ca6df1f through before 1275a4769c126405c6c63b6372daff120ac679a6 (git); ca30707dee2bc8bc81cfd8b4277fe90f7ca6df1f through before 0da8f531336b28a59b23e5a67d40eaed15906201 (git); ca30707dee2bc8bc81cfd8b4277fe90f7ca6df1f through before 6048ed2dfb33426c8aef32f8d225ea91c66813db (git); ca30707dee2bc8bc81cfd8b4277fe90f7ca6df1f through before 925669d4cfd47a9019ab29b40676215bab5dae35 (git); ca30707dee2bc8bc81cfd8b4277fe90f7ca6df1f through before 4a9e30764e80693bcf875c776170edce20f94fe0 (git); ca30707dee2bc8bc81cfd8b4277fe90f7ca6df1f through before 7089f7ab99c89f443c92d8fcc585e63f2727f0b3 (git); 5.4 Fixed: See vendor advisory.
Why it matters
Review the vendor advisory and exposure of the affected product to determine operational impact.
Detection & mitigation
- Apply vendor-provided updates or mitigations.
- Review affected product exposure and access logs.
Public PoC references
No public PoC reference has passed the current publication threshold.