« Back to list

CVE-2023-54265

Status: DeferredUnscored—

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

ipv6: Fix an uninit variable access bug in __ip6_make_skb()

Syzbot reported a bug as following:

It is because icmp6hdr does not in skb linear region under the scenario of SOCK_RAW socket. Access icmp6_hdr(skb)->icmp6_type directly will trigger the uninit variable access bug.

Use a local variable icmp6_type to carry the correct value in different scenarios.

Technical details traces, logs and code from the original report
=====================================================
BUG: KMSAN: uninit-value in arch_atomic64_inc arch/x86/include/asm/atomic64_64.h:88 [inline]
BUG: KMSAN: uninit-value in arch_atomic_long_inc include/linux/atomic/atomic-long.h:161 [inline]
BUG: KMSAN: uninit-value in atomic_long_inc include/linux/atomic/atomic-instrumented.h:1429 [inline]
BUG: KMSAN: uninit-value in __ip6_make_skb+0x2f37/0x30f0 net/ipv6/ip6_output.c:1956
 arch_atomic64_inc arch/x86/include/asm/atomic64_64.h:88 [inline]
 arch_atomic_long_inc include/linux/atomic/atomic-long.h:161 [inline]
 atomic_long_inc include/linux/atomic/atomic-instrumented.h:1429 [inline]
 __ip6_make_skb+0x2f37/0x30f0 net/ipv6/ip6_output.c:1956
 ip6_finish_skb include/net/ipv6.h:1122 [inline]
 ip6_push_pending_frames+0x10e/0x550 net/ipv6/ip6_output.c:1987
 rawv6_push_pending_frames+0xb12/0xb90 net/ipv6/raw.c:579
 rawv6_sendmsg+0x297e/0x2e60 net/ipv6/raw.c:922
 inet_sendmsg+0x101/0x180 net/ipv4/af_inet.c:827
 sock_sendmsg_nosec net/socket.c:714 [inline]
 sock_sendmsg net/socket.c:734 [inline]
 ____sys_sendmsg+0xa8e/0xe70 net/socket.c:2476
 ___sys_sendmsg+0x2a1/0x3f0 net/socket.c:2530
 __sys_sendmsg net/socket.c:2559 [inline]
 __do_sys_sendmsg net/socket.c:2568 [inline]
 __se_sys_sendmsg net/socket.c:2566 [inline]
 __x64_sys_sendmsg+0x367/0x540 net/socket.c:2566
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x3d/0xb0 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x63/0xcd

Uninit was created at:
 slab_post_alloc_hook mm/slab.h:766 [inline]
 slab_alloc_node mm/slub.c:3452 [inline]
 __kmem_cache_alloc_node+0x71f/0xce0 mm/slub.c:3491
 __do_kmalloc_node mm/slab_common.c:967 [inline]
 __kmalloc_node_track_caller+0x114/0x3b0 mm/slab_common.c:988
 kmalloc_reserve net/core/skbuff.c:492 [inline]
 __alloc_skb+0x3af/0x8f0 net/core/skbuff.c:565
 alloc_skb include/linux/skbuff.h:1270 [inline]
 __ip6_append_data+0x51c1/0x6bb0 net/ipv6/ip6_output.c:1684
 ip6_append_data+0x411/0x580 net/ipv6/ip6_output.c:1854
 rawv6_sendmsg+0x2882/0x2e60 net/ipv6/raw.c:915
 inet_sendmsg+0x101/0x180 net/ipv4/af_inet.c:827
 sock_sendmsg_nosec net/socket.c:714 [inline]
 sock_sendmsg net/socket.c:734 [inline]
 ____sys_sendmsg+0xa8e/0xe70 net/socket.c:2476
 ___sys_sendmsg+0x2a1/0x3f0 net/socket.c:2530
 __sys_sendmsg net/socket.c:2559 [inline]
 __do_sys_sendmsg net/socket.c:2568 [inline]
 __se_sys_sendmsg net/socket.c:2566 [inline]
 __x64_sys_sendmsg+0x367/0x540 net/socket.c:2566
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x3d/0xb0 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x63/0xcd

CVSS

NVD hasn't assigned a CVSS score to this CVE (common since the April 2026 policy change).

Exploitation probability (EPSS)

EPSS (Exploit Prediction Scoring System, FIRST) estimates how likely a vulnerability is to be exploited in the wild within 30 days. It complements CVSS (impact) and CISA KEV (confirmed exploitation).

Affected technologies (1)

⚠ AI-inferred from the description — NVD hasn't analyzed this CVE yet, these aren't verified CPEs.

References

Raw JSON (NVD)

Show
{
  "id": "CVE-2023-54265",
  "cveTags": [],
  "metrics": {},
  "affected": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "affectedData": [
        {
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "product": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "14878f75abd5bf1d38becb405801cd491ee215dc",
              "lessThan": "165370522cc48127da564a08584a7391e6341908",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "14878f75abd5bf1d38becb405801cd491ee215dc",
              "lessThan": "f394f690a30a5ec0413c62777a058eaf3d6e10d5",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "14878f75abd5bf1d38becb405801cd491ee215dc",
              "lessThan": "0cf600ca1bdf1d52df977516ee6cee0cadb1f6b1",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "14878f75abd5bf1d38becb405801cd491ee215dc",
              "lessThan": "605b056d63302ae84eb136e88d4df49124bd5e0d",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "14878f75abd5bf1d38becb405801cd491ee215dc",
              "lessThan": "d65ff2fe877c471aa6e79efa7bd8ff66e147c317",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "14878f75abd5bf1d38becb405801cd491ee215dc",
              "lessThan": "2c9cefc142c1dc2759e19a92d3b2b3715e985beb",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "14878f75abd5bf1d38becb405801cd491ee215dc",
              "lessThan": "02ed5700f40445af02d1c97db25ffc2d04971d9f",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "14878f75abd5bf1d38becb405801cd491ee215dc",
              "lessThan": "ea30388baebcce37fd594d425a65037ca35e59e8",
              "versionType": "git"
            }
          ],
          "programFiles": [
            "net/ipv6/ip6_output.c"
          ],
          "defaultStatus": "unaffected"
        },
        {
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "product": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "2.6.24"
            },
            {
              "status": "unaffected",
              "version": "0",
              "lessThan": "2.6.24",
              "versionType": "semver"
            },
            {
              "status": "unaffected",
              "version": "4.14.313",
              "versionType": "semver",
              "lessThanOrEqual": "4.14.*"
            },
            {
              "status": "unaffected",
              "version": "4.19.281",
              "versionType": "semver",
              "lessThanOrEqual": "4.19.*"
            },
            {
              "status": "unaffected",
              "version": "5.4.241",
              "versionType": "semver",
              "lessThanOrEqual": "5.4.*"
            },
            {
              "status": "unaffected",
              "version": "5.10.178",
              "versionType": "semver",
              "lessThanOrEqual": "5.10.*"
            },
            {
              "status": "unaffected",
              "version": "5.15.107",
              "versionType": "semver",
              "lessThanOrEqual": "5.15.*"
            },
            {
              "status": "unaffected",
              "version": "6.1.24",
              "versionType": "semver",
              "lessThanOrEqual": "6.1.*"
            },
            {
              "status": "unaffected",
              "version": "6.2.11",
              "versionType": "semver",
              "lessThanOrEqual": "6.2.*"
            },
            {
              "status": "unaffected",
              "version": "6.3",
              "versionType": "original_commit_for_fix",
              "lessThanOrEqual": "*"
            }
          ],
          "programFiles": [
            "net/ipv6/ip6_output.c"
          ],
          "defaultStatus": "affected"
        }
      ]
    }
  ],
  "published": "2025-12-30T13:16:15.300",
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/02ed5700f40445af02d1c97db25ffc2d04971d9f",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/0cf600ca1bdf1d52df977516ee6cee0cadb1f6b1",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/165370522cc48127da564a08584a7391e6341908",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/2c9cefc142c1dc2759e19a92d3b2b3715e985beb",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/605b056d63302ae84eb136e88d4df49124bd5e0d",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/d65ff2fe877c471aa6e79efa7bd8ff66e147c317",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/ea30388baebcce37fd594d425a65037ca35e59e8",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/f394f690a30a5ec0413c62777a058eaf3d6e10d5",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ],
  "vulnStatus": "Deferred",
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nipv6: Fix an uninit variable access bug in __ip6_make_skb()\n\nSyzbot reported a bug as following:\n\n=====================================================\nBUG: KMSAN: uninit-value in arch_atomic64_inc arch/x86/include/asm/atomic64_64.h:88 [inline]\nBUG: KMSAN: uninit-value in arch_atomic_long_inc include/linux/atomic/atomic-long.h:161 [inline]\nBUG: KMSAN: uninit-value in atomic_long_inc include/linux/atomic/atomic-instrumented.h:1429 [inline]\nBUG: KMSAN: uninit-value in __ip6_make_skb+0x2f37/0x30f0 net/ipv6/ip6_output.c:1956\n arch_atomic64_inc arch/x86/include/asm/atomic64_64.h:88 [inline]\n arch_atomic_long_inc include/linux/atomic/atomic-long.h:161 [inline]\n atomic_long_inc include/linux/atomic/atomic-instrumented.h:1429 [inline]\n __ip6_make_skb+0x2f37/0x30f0 net/ipv6/ip6_output.c:1956\n ip6_finish_skb include/net/ipv6.h:1122 [inline]\n ip6_push_pending_frames+0x10e/0x550 net/ipv6/ip6_output.c:1987\n rawv6_push_pending_frames+0xb12/0xb90 net/ipv6/raw.c:579\n rawv6_sendmsg+0x297e/0x2e60 net/ipv6/raw.c:922\n inet_sendmsg+0x101/0x180 net/ipv4/af_inet.c:827\n sock_sendmsg_nosec net/socket.c:714 [inline]\n sock_sendmsg net/socket.c:734 [inline]\n ____sys_sendmsg+0xa8e/0xe70 net/socket.c:2476\n ___sys_sendmsg+0x2a1/0x3f0 net/socket.c:2530\n __sys_sendmsg net/socket.c:2559 [inline]\n __do_sys_sendmsg net/socket.c:2568 [inline]\n __se_sys_sendmsg net/socket.c:2566 [inline]\n __x64_sys_sendmsg+0x367/0x540 net/socket.c:2566\n do_syscall_x64 arch/x86/entry/common.c:50 [inline]\n do_syscall_64+0x3d/0xb0 arch/x86/entry/common.c:80\n entry_SYSCALL_64_after_hwframe+0x63/0xcd\n\nUninit was created at:\n slab_post_alloc_hook mm/slab.h:766 [inline]\n slab_alloc_node mm/slub.c:3452 [inline]\n __kmem_cache_alloc_node+0x71f/0xce0 mm/slub.c:3491\n __do_kmalloc_node mm/slab_common.c:967 [inline]\n __kmalloc_node_track_caller+0x114/0x3b0 mm/slab_common.c:988\n kmalloc_reserve net/core/skbuff.c:492 [inline]\n __alloc_skb+0x3af/0x8f0 net/core/skbuff.c:565\n alloc_skb include/linux/skbuff.h:1270 [inline]\n __ip6_append_data+0x51c1/0x6bb0 net/ipv6/ip6_output.c:1684\n ip6_append_data+0x411/0x580 net/ipv6/ip6_output.c:1854\n rawv6_sendmsg+0x2882/0x2e60 net/ipv6/raw.c:915\n inet_sendmsg+0x101/0x180 net/ipv4/af_inet.c:827\n sock_sendmsg_nosec net/socket.c:714 [inline]\n sock_sendmsg net/socket.c:734 [inline]\n ____sys_sendmsg+0xa8e/0xe70 net/socket.c:2476\n ___sys_sendmsg+0x2a1/0x3f0 net/socket.c:2530\n __sys_sendmsg net/socket.c:2559 [inline]\n __do_sys_sendmsg net/socket.c:2568 [inline]\n __se_sys_sendmsg net/socket.c:2566 [inline]\n __x64_sys_sendmsg+0x367/0x540 net/socket.c:2566\n do_syscall_x64 arch/x86/entry/common.c:50 [inline]\n do_syscall_64+0x3d/0xb0 arch/x86/entry/common.c:80\n entry_SYSCALL_64_after_hwframe+0x63/0xcd\n\nIt is because icmp6hdr does not in skb linear region under the scenario\nof SOCK_RAW socket. Access icmp6_hdr(skb)->icmp6_type directly will\ntrigger the uninit variable access bug.\n\nUse a local variable icmp6_type to carry the correct value in different\nscenarios."
    },
    {
      "lang": "es",
      "value": "En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:\n\nipv6: Corrige un error de acceso a variable no inicializada en __ip6_make_skb()\n\nSyzbot informó un error como sigue:\n\n=====================================================\nBUG: KMSAN: uninit-value in arch_atomic64_inc arch/x86/include/asm/atomic64_64.h:88 [inline]\nBUG: KMSAN: uninit-value in arch_atomic_long_inc include/linux/atomic/atomic-long.h:161 [inline]\nBUG: KMSAN: uninit-value in atomic_long_inc include/linux/atomic/atomic-instrumented.h:1429 [inline]\nBUG: KMSAN: uninit-value in __ip6_make_skb+0x2f37/0x30f0 net/ipv6/ip6_output.c:1956\n arch_atomic64_inc arch/x86/include/asm/atomic64_64.h:88 [inline]\n arch_atomic_long_inc include/linux/atomic/atomic-long.h:161 [inline]\n atomic_long_inc include/linux/atomic/atomic-instrumented.h:1429 [inline]\n __ip6_make_skb+0x2f37/0x30f0 net/ipv6/ip6_output.c:1956\n ip6_finish_skb include/net/ipv6.h:1122 [inline]\n ip6_push_pending_frames+0x10e/0x550 net/ipv6/ip6_output.c:1987\n rawv6_push_pending_frames+0xb12/0xb90 net/ipv6/raw.c:579\n rawv6_sendmsg+0x297e/0x2e60 net/ipv6/raw.c:922\n inet_sendmsg+0x101/0x180 net/ipv4/af_inet.c:827\n sock_sendmsg_nosec net/socket.c:714 [inline]\n sock_sendmsg net/socket.c:734 [inline]\n ____sys_sendmsg+0xa8e/0xe70 net/socket.c:2476\n ___sys_sendmsg+0x2a1/0x3f0 net/socket.c:2530\n __sys_sendmsg net/socket.c:2559 [inline]\n __do_sys_sendmsg net/socket.c:2568 [inline]\n __se_sys_sendmsg net/socket.c:2566 [inline]\n __x64_sys_sendmsg+0x367/0x540 net/socket.c:2566\n do_syscall_x64 arch/x86/entry/common.c:50 [inline]\n do_syscall_64+0x3d/0xb0 arch/x86/entry/common.c:80\n entry_SYSCALL_64_after_hwframe+0x63/0xcd\n\nLa no inicialización fue creada en:\n slab_post_alloc_hook mm/slab.h:766 [inline]\n slab_alloc_node mm/slub.c:3452 [inline]\n __kmem_cache_alloc_node+0x71f/0xce0 mm/slub.c:3491\n __do_kmalloc_node mm/slab_common.c:967 [inline]\n __kmalloc_node_track_caller+0x114/0x3b0 mm/slab_common.c:988\n kmalloc_reserve net/core/skbuff.c:492 [inline]\n __alloc_skb+0x3af/0x8f0 net/core/skbuff.c:565\n alloc_skb include/linux/skbuff.h:1270 [inline]\n __ip6_append_data+0x51c1/0x6bb0 net/ipv6/ip6_output.c:1684\n ip6_append_data+0x411/0x580 net/ipv6/ip6_output.c:1854\n rawv6_sendmsg+0x2882/0x2e60 net/ipv6/raw.c:915\n inet_sendmsg+0x101/0x180 net/ipv4/af_inet.c:827\n sock_sendmsg_nosec net/socket.c:714 [inline]\n sock_sendmsg net/socket.c:734 [inline]\n ____sys_sendmsg+0xa8e/0xe70 net/socket.c:2476\n ___sys_sendmsg+0x2a1/0x3f0 net/socket.c:2530\n __sys_sendmsg net/socket.c:2559 [inline]\n __do_sys_sendmsg net/socket.c:2568 [inline]\n __se_sys_sendmsg net/socket.c:2566 [inline]\n __x64_sys_sendmsg+0x367/0x540 net/socket.c:2566\n do_syscall_x64 arch/x86/entry/common.c:50 [inline]\n do_syscall_64+0x3d/0xb0 arch/x86/entry/common.c:80\n entry_SYSCALL_64_after_hwframe+0x63/0xcd\n\nEsto se debe a que icmp6hdr no está en la región lineal de skb bajo el escenario del socket SOCK_RAW. Acceder a icmp6_hdr(skb)->icmp6_type directamente activará el error de acceso a variable no inicializada.\n\nUsa una variable local icmp6_type para llevar el valor correcto en diferentes escenarios."
    }
  ],
  "lastModified": "2026-06-17T06:47:07.257",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}