---
id: CVE-2024-36927
title: |-
  In the Linux kernel, the following vulnerability has been resolved:

  ipv4: Fix uninit-value access in __ip_make_skb()

  KMSAN reported uninit-value access in __ip_make_skb() [1]
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  ipv4: Fix uninit-value access in __ip_make_skb()

  KMSAN reported uninit-value access in __ip_make_skb() [1].  __ip_make_skb()
  tests HDRINCL to know if the skb has icmph…
severity: medium
cvss: 4.7
cvssVector: 'CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H'
cwe:
  - CWE-362
  - CWE-908
vendor: linux
product: linux_kernel
affected:
  - 'linux_kernel >= 4.14.315, < 4.15'
  - 'linux_kernel >= 4.19.283, < 4.20'
  - 'linux_kernel >= 5.4.243, < 5.5'
  - 'linux_kernel >= 5.10.180, < 5.11'
  - 'linux_kernel >= 5.15.111, < 5.16'
  - 'linux_kernel >= 6.1.28, < 6.2'
  - 'linux_kernel >= 6.2.15, < 6.3'
  - 'linux_kernel >= 6.3.2, < 6.6.31'
  - 'linux_kernel >= 6.7, < 6.8.10'
  - linux_kernel = 6.9
patched:
  - linux_kernel 6.8.10
published: '2024-05-30'
updated: '2026-07-14'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2024-36927'
references:
  - url: 'https://git.kernel.org/stable/c/20d3eb00ab81462d554ac6d09691b8d9aa5a5741'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/55bf541e018b76b3750cb6c6ea18c46e1ac5562e'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/5db08343ddb1b239320612036c398e4e1bb52818'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/88c66f1879f322f11de34d37b2d3d87497afdcb6'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/f5c603ad4e6fcf42f84053e882ebe20184bb309e'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/fc1092f51567277509563800a3c56732070b6aa4'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/5db08343ddb1b239320612036c398e4e1bb52818'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://git.kernel.org/stable/c/f5c603ad4e6fcf42f84053e882ebe20184bb309e'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://git.kernel.org/stable/c/fc1092f51567277509563800a3c56732070b6aa4'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://lists.debian.org/debian-lts-announce/2025/08/msg00010.html'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://cert-portal.siemens.com/productcert/html/ssa-019113.html'
    label: 0b142b55-0307-4c5a-b3c9-f314f3fb7c5e
tags:
  - nvd
  - cve.org
epss: 0.0017
epssPercentile: 0.05566
ingestedAt: '2026-07-14T13:36:54.486Z'
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2024-05-30T18:44:15.154993Z'
---

## Overview

In the Linux kernel, the following vulnerability has been resolved:

ipv4: Fix uninit-value access in __ip_make_skb()

KMSAN reported uninit-value access in __ip_make_skb() [1].  __ip_make_skb()
tests HDRINCL to know if the skb has icmphdr. However, HDRINCL can cause a
race condition. If calling setsockopt(2) with IP_HDRINCL changes HDRINCL
while __ip_make_skb() is running, the function will access icmphdr in the
skb even if it is not included. This causes the issue reported by KMSAN.

Check FLOWI_FLAG_KNOWN_NH on fl4->flowi4_flags instead of testing HDRINCL
on the socket.

Also, fl4->fl4_icmp_type and fl4->fl4_icmp_code are not initialized. These
are union in struct flowi4 and are implicitly initialized by
flowi4_init_output(), but we should not rely on specific union layout.

Initialize these explicitly in raw_sendmsg().

[1]
BUG: KMSAN: uninit-value in __ip_make_skb+0x2b74/0x2d20 net/ipv4/ip_output.c:1481
 __ip_make_skb+0x2b74/0x2d20 net/ipv4/ip_output.c:1481
 ip_finish_skb include/net/ip.h:243 [inline]
 ip_push_pending_frames+0x4c/0x5c0 net/ipv4/ip_output.c:1508
 raw_sendmsg+0x2381/0x2690 net/ipv4/raw.c:654
 inet_sendmsg+0x27b/0x2a0 net/ipv4/af_inet.c:851
 sock_sendmsg_nosec net/socket.c:730 [inline]
 __sock_sendmsg+0x274/0x3c0 net/socket.c:745
 __sys_sendto+0x62c/0x7b0 net/socket.c:2191
 __do_sys_sendto net/socket.c:2203 [inline]
 __se_sys_sendto net/socket.c:2199 [inline]
 __x64_sys_sendto+0x130/0x200 net/socket.c:2199
 do_syscall_64+0xd8/0x1f0 arch/x86/entry/common.c:83
 entry_SYSCALL_64_after_hwframe+0x6d/0x75

Uninit was created at:
 slab_post_alloc_hook mm/slub.c:3804 [inline]
 slab_alloc_node mm/slub.c:3845 [inline]
 kmem_cache_alloc_node+0x5f6/0xc50 mm/slub.c:3888
 kmalloc_reserve+0x13c/0x4a0 net/core/skbuff.c:577
 __alloc_skb+0x35a/0x7c0 net/core/skbuff.c:668
 alloc_skb include/linux/skbuff.h:1318 [inline]
 __ip_append_data+0x49ab/0x68c0 net/ipv4/ip_output.c:1128
 ip_append_data+0x1e7/0x260 net/ipv4/ip_output.c:1365
 raw_sendmsg+0x22b1/0x2690 net/ipv4/raw.c:648
 inet_sendmsg+0x27b/0x2a0 net/ipv4/af_inet.c:851
 sock_sendmsg_nosec net/socket.c:730 [inline]
 __sock_sendmsg+0x274/0x3c0 net/socket.c:745
 __sys_sendto+0x62c/0x7b0 net/socket.c:2191
 __do_sys_sendto net/socket.c:2203 [inline]
 __se_sys_sendto net/socket.c:2199 [inline]
 __x64_sys_sendto+0x130/0x200 net/socket.c:2199
 do_syscall_64+0xd8/0x1f0 arch/x86/entry/common.c:83
 entry_SYSCALL_64_after_hwframe+0x6d/0x75

CPU: 1 PID: 15709 Comm: syz-executor.7 Not tainted 6.8.0-11567-gb3603fcb79b1 #25
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-1.fc39 04/01/2014

## Affected

- `linux_kernel >= 4.14.315, < 4.15`
- `linux_kernel >= 4.19.283, < 4.20`
- `linux_kernel >= 5.4.243, < 5.5`
- `linux_kernel >= 5.10.180, < 5.11`
- `linux_kernel >= 5.15.111, < 5.16`
- `linux_kernel >= 6.1.28, < 6.2`
- `linux_kernel >= 6.2.15, < 6.3`
- `linux_kernel >= 6.3.2, < 6.6.31`
- `linux_kernel >= 6.7, < 6.8.10`
- `linux_kernel = 6.9`

## Remediation

Upgrade past the affected range:

- `linux_kernel 6.8.10`
