Description
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 products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
ca30707dee2bc8bc81cfd8b4277fe90f7ca6df1f to < 1275a4769c126405c6c63b6372daff120ac679a6affectedca30707dee2bc8bc81cfd8b4277fe90f7ca6df1f to < 0da8f531336b28a59b23e5a67d40eaed15906201affectedca30707dee2bc8bc81cfd8b4277fe90f7ca6df1f to < 6048ed2dfb33426c8aef32f8d225ea91c66813dbaffectedca30707dee2bc8bc81cfd8b4277fe90f7ca6df1f to < 925669d4cfd47a9019ab29b40676215bab5dae35affectedca30707dee2bc8bc81cfd8b4277fe90f7ca6df1f to < 4a9e30764e80693bcf875c776170edce20f94fe0affectedca30707dee2bc8bc81cfd8b4277fe90f7ca6df1f to < 7089f7ab99c89f443c92d8fcc585e63f2727f0b3affected
Linux Linux
Default version status: affected
5.4affected0 to < 5.4unaffected6.1.189 to ≤ 6.1.*unaffected6.6.158 to ≤ 6.6.*unaffected6.12.111 to ≤ 6.12.*unaffected6.18.53 to ≤ 6.18.*unaffected7.1.6 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/1275a4769c126405c6c63b6372daff120ac679a6 ↗
- https://git.kernel.org/stable/c/0da8f531336b28a59b23e5a67d40eaed15906201 ↗
- https://git.kernel.org/stable/c/6048ed2dfb33426c8aef32f8d225ea91c66813db ↗
- https://git.kernel.org/stable/c/925669d4cfd47a9019ab29b40676215bab5dae35 ↗
- https://git.kernel.org/stable/c/4a9e30764e80693bcf875c776170edce20f94fe0 ↗
- https://git.kernel.org/stable/c/7089f7ab99c89f443c92d8fcc585e63f2727f0b3 ↗