cve-2024-56658
Vulnerability from cvelistv5
Published
2024-12-27 15:06
Modified
2025-03-06 16:14
Summary
In the Linux kernel, the following vulnerability has been resolved: net: defer final 'struct net' free in netns dismantle Ilya reported a slab-use-after-free in dst_destroy [1] Issue is in xfrm6_net_init() and xfrm4_net_init() : They copy xfrm[46]_dst_ops_template into net->xfrm.xfrm[46]_dst_ops. But net structure might be freed before all the dst callbacks are called. So when dst_destroy() calls later : if (dst->ops->destroy) dst->ops->destroy(dst); dst->ops points to the old net->xfrm.xfrm[46]_dst_ops, which has been freed. See a relevant issue fixed in : ac888d58869b ("net: do not delay dst_entries_add() in dst_release()") A fix is to queue the 'struct net' to be freed after one another cleanup_net() round (and existing rcu_barrier()) [1] BUG: KASAN: slab-use-after-free in dst_destroy (net/core/dst.c:112) Read of size 8 at addr ffff8882137ccab0 by task swapper/37/0 Dec 03 05:46:18 kernel: CPU: 37 UID: 0 PID: 0 Comm: swapper/37 Kdump: loaded Not tainted 6.12.0 #67 Hardware name: Red Hat KVM/RHEL, BIOS 1.16.1-1.el9 04/01/2014 Call Trace: <IRQ> dump_stack_lvl (lib/dump_stack.c:124) print_address_description.constprop.0 (mm/kasan/report.c:378) ? dst_destroy (net/core/dst.c:112) print_report (mm/kasan/report.c:489) ? dst_destroy (net/core/dst.c:112) ? kasan_addr_to_slab (mm/kasan/common.c:37) kasan_report (mm/kasan/report.c:603) ? dst_destroy (net/core/dst.c:112) ? rcu_do_batch (kernel/rcu/tree.c:2567) dst_destroy (net/core/dst.c:112) rcu_do_batch (kernel/rcu/tree.c:2567) ? __pfx_rcu_do_batch (kernel/rcu/tree.c:2491) ? lockdep_hardirqs_on_prepare (kernel/locking/lockdep.c:4339 kernel/locking/lockdep.c:4406) rcu_core (kernel/rcu/tree.c:2825) handle_softirqs (kernel/softirq.c:554) __irq_exit_rcu (kernel/softirq.c:589 kernel/softirq.c:428 kernel/softirq.c:637) irq_exit_rcu (kernel/softirq.c:651) sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1049 arch/x86/kernel/apic/apic.c:1049) </IRQ> <TASK> asm_sysvec_apic_timer_interrupt (./arch/x86/include/asm/idtentry.h:702) RIP: 0010:default_idle (./arch/x86/include/asm/irqflags.h:37 ./arch/x86/include/asm/irqflags.h:92 arch/x86/kernel/process.c:743) Code: 00 4d 29 c8 4c 01 c7 4c 29 c2 e9 6e ff ff ff 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 66 90 0f 00 2d c7 c9 27 00 fb f4 <fa> c3 cc cc cc cc 66 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 90 RSP: 0018:ffff888100d2fe00 EFLAGS: 00000246 RAX: 00000000001870ed RBX: 1ffff110201a5fc2 RCX: ffffffffb61a3e46 RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffffffffb3d4d123 RBP: 0000000000000000 R08: 0000000000000001 R09: ffffed11c7e1835d R10: ffff888e3f0c1aeb R11: 0000000000000000 R12: 0000000000000000 R13: ffff888100d20000 R14: dffffc0000000000 R15: 0000000000000000 ? ct_kernel_exit.constprop.0 (kernel/context_tracking.c:148) ? cpuidle_idle_call (kernel/sched/idle.c:186) default_idle_call (./include/linux/cpuidle.h:143 kernel/sched/idle.c:118) cpuidle_idle_call (kernel/sched/idle.c:186) ? __pfx_cpuidle_idle_call (kernel/sched/idle.c:168) ? lock_release (kernel/locking/lockdep.c:467 kernel/locking/lockdep.c:5848) ? lockdep_hardirqs_on_prepare (kernel/locking/lockdep.c:4347 kernel/locking/lockdep.c:4406) ? tsc_verify_tsc_adjust (arch/x86/kernel/tsc_sync.c:59) do_idle (kernel/sched/idle.c:326) cpu_startup_entry (kernel/sched/idle.c:423 (discriminator 1)) start_secondary (arch/x86/kernel/smpboot.c:202 arch/x86/kernel/smpboot.c:282) ? __pfx_start_secondary (arch/x86/kernel/smpboot.c:232) ? soft_restart_cpu (arch/x86/kernel/head_64.S:452) common_startup_64 (arch/x86/kernel/head_64.S:414) </TASK> Dec 03 05:46:18 kernel: Allocated by task 12184: kasan_save_stack (mm/kasan/common.c:48) kasan_save_track (./arch/x86/include/asm/current.h:49 mm/kasan/common.c:60 mm/kasan/common.c:69) __kasan_slab_alloc (mm/kasan/common.c:319 mm/kasan/common.c:345) kmem_cache_alloc_noprof (mm/slub.c:4085 mm/slub.c:4134 mm/slub.c:4141) copy_net_ns (net/core/net_namespace.c:421 net/core/net_namespace.c:480) create_new_namespaces ---truncated---
Impacted products
Vendor Product Version
Linux Linux Version: a8a572a6b5f2a79280d6e302cb3c1cb1fbaeb3e8
Version: a8a572a6b5f2a79280d6e302cb3c1cb1fbaeb3e8
Version: a8a572a6b5f2a79280d6e302cb3c1cb1fbaeb3e8
Version: a8a572a6b5f2a79280d6e302cb3c1cb1fbaeb3e8
Create a notification for this product.
   Linux Linux Version: 4.4
Create a notification for this product.
Show details on NVD website


{
   containers: {
      adp: [
         {
            metrics: [
               {
                  cvssV3_1: {
                     attackComplexity: "LOW",
                     attackVector: "LOCAL",
                     availabilityImpact: "HIGH",
                     baseScore: 7.8,
                     baseSeverity: "HIGH",
                     confidentialityImpact: "HIGH",
                     integrityImpact: "HIGH",
                     privilegesRequired: "LOW",
                     scope: "UNCHANGED",
                     userInteraction: "NONE",
                     vectorString: "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
                     version: "3.1",
                  },
               },
               {
                  other: {
                     content: {
                        id: "CVE-2024-56658",
                        options: [
                           {
                              Exploitation: "none",
                           },
                           {
                              Automatable: "no",
                           },
                           {
                              "Technical Impact": "total",
                           },
                        ],
                        role: "CISA Coordinator",
                        timestamp: "2025-03-06T16:07:39.771240Z",
                        version: "2.0.3",
                     },
                     type: "ssvc",
                  },
               },
            ],
            problemTypes: [
               {
                  descriptions: [
                     {
                        cweId: "CWE-416",
                        description: "CWE-416 Use After Free",
                        lang: "en",
                        type: "CWE",
                     },
                  ],
               },
            ],
            providerMetadata: {
               dateUpdated: "2025-03-06T16:14:32.574Z",
               orgId: "134c704f-9b21-4f2e-91b3-4a467353bcc0",
               shortName: "CISA-ADP",
            },
            title: "CISA ADP Vulnrichment",
         },
      ],
      cna: {
         affected: [
            {
               defaultStatus: "unaffected",
               product: "Linux",
               programFiles: [
                  "include/net/net_namespace.h",
                  "net/core/net_namespace.c",
               ],
               repo: "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
               vendor: "Linux",
               versions: [
                  {
                     lessThan: "3267b254dc0a04dfa362a2be24573cfa6d2d78f5",
                     status: "affected",
                     version: "a8a572a6b5f2a79280d6e302cb3c1cb1fbaeb3e8",
                     versionType: "git",
                  },
                  {
                     lessThan: "b7a79e51297f7b82adb687086f5cb2da446f1e40",
                     status: "affected",
                     version: "a8a572a6b5f2a79280d6e302cb3c1cb1fbaeb3e8",
                     versionType: "git",
                  },
                  {
                     lessThan: "6610c7f8a8d47fd1123eed55ba8c11c2444d8842",
                     status: "affected",
                     version: "a8a572a6b5f2a79280d6e302cb3c1cb1fbaeb3e8",
                     versionType: "git",
                  },
                  {
                     lessThan: "0f6ede9fbc747e2553612271bce108f7517e7a45",
                     status: "affected",
                     version: "a8a572a6b5f2a79280d6e302cb3c1cb1fbaeb3e8",
                     versionType: "git",
                  },
               ],
            },
            {
               defaultStatus: "affected",
               product: "Linux",
               programFiles: [
                  "include/net/net_namespace.h",
                  "net/core/net_namespace.c",
               ],
               repo: "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
               vendor: "Linux",
               versions: [
                  {
                     status: "affected",
                     version: "4.4",
                  },
                  {
                     lessThan: "4.4",
                     status: "unaffected",
                     version: "0",
                     versionType: "semver",
                  },
                  {
                     lessThanOrEqual: "6.1.*",
                     status: "unaffected",
                     version: "6.1.121",
                     versionType: "semver",
                  },
                  {
                     lessThanOrEqual: "6.6.*",
                     status: "unaffected",
                     version: "6.6.67",
                     versionType: "semver",
                  },
                  {
                     lessThanOrEqual: "6.12.*",
                     status: "unaffected",
                     version: "6.12.6",
                     versionType: "semver",
                  },
                  {
                     lessThanOrEqual: "*",
                     status: "unaffected",
                     version: "6.13",
                     versionType: "original_commit_for_fix",
                  },
               ],
            },
         ],
         descriptions: [
            {
               lang: "en",
               value: "In the Linux kernel, the following vulnerability has been resolved:\n\nnet: defer final 'struct net' free in netns dismantle\n\nIlya reported a slab-use-after-free in dst_destroy [1]\n\nIssue is in xfrm6_net_init() and xfrm4_net_init() :\n\nThey copy xfrm[46]_dst_ops_template into net->xfrm.xfrm[46]_dst_ops.\n\nBut net structure might be freed before all the dst callbacks are\ncalled. So when dst_destroy() calls later :\n\nif (dst->ops->destroy)\n    dst->ops->destroy(dst);\n\ndst->ops points to the old net->xfrm.xfrm[46]_dst_ops, which has been freed.\n\nSee a relevant issue fixed in :\n\nac888d58869b (\"net: do not delay dst_entries_add() in dst_release()\")\n\nA fix is to queue the 'struct net' to be freed after one\nanother cleanup_net() round (and existing rcu_barrier())\n\n[1]\n\nBUG: KASAN: slab-use-after-free in dst_destroy (net/core/dst.c:112)\nRead of size 8 at addr ffff8882137ccab0 by task swapper/37/0\nDec 03 05:46:18 kernel:\nCPU: 37 UID: 0 PID: 0 Comm: swapper/37 Kdump: loaded Not tainted 6.12.0 #67\nHardware name: Red Hat KVM/RHEL, BIOS 1.16.1-1.el9 04/01/2014\nCall Trace:\n <IRQ>\ndump_stack_lvl (lib/dump_stack.c:124)\nprint_address_description.constprop.0 (mm/kasan/report.c:378)\n? dst_destroy (net/core/dst.c:112)\nprint_report (mm/kasan/report.c:489)\n? dst_destroy (net/core/dst.c:112)\n? kasan_addr_to_slab (mm/kasan/common.c:37)\nkasan_report (mm/kasan/report.c:603)\n? dst_destroy (net/core/dst.c:112)\n? rcu_do_batch (kernel/rcu/tree.c:2567)\ndst_destroy (net/core/dst.c:112)\nrcu_do_batch (kernel/rcu/tree.c:2567)\n? __pfx_rcu_do_batch (kernel/rcu/tree.c:2491)\n? lockdep_hardirqs_on_prepare (kernel/locking/lockdep.c:4339 kernel/locking/lockdep.c:4406)\nrcu_core (kernel/rcu/tree.c:2825)\nhandle_softirqs (kernel/softirq.c:554)\n__irq_exit_rcu (kernel/softirq.c:589 kernel/softirq.c:428 kernel/softirq.c:637)\nirq_exit_rcu (kernel/softirq.c:651)\nsysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1049 arch/x86/kernel/apic/apic.c:1049)\n </IRQ>\n <TASK>\nasm_sysvec_apic_timer_interrupt (./arch/x86/include/asm/idtentry.h:702)\nRIP: 0010:default_idle (./arch/x86/include/asm/irqflags.h:37 ./arch/x86/include/asm/irqflags.h:92 arch/x86/kernel/process.c:743)\nCode: 00 4d 29 c8 4c 01 c7 4c 29 c2 e9 6e ff ff ff 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 66 90 0f 00 2d c7 c9 27 00 fb f4 <fa> c3 cc cc cc cc 66 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 90\nRSP: 0018:ffff888100d2fe00 EFLAGS: 00000246\nRAX: 00000000001870ed RBX: 1ffff110201a5fc2 RCX: ffffffffb61a3e46\nRDX: 0000000000000000 RSI: 0000000000000000 RDI: ffffffffb3d4d123\nRBP: 0000000000000000 R08: 0000000000000001 R09: ffffed11c7e1835d\nR10: ffff888e3f0c1aeb R11: 0000000000000000 R12: 0000000000000000\nR13: ffff888100d20000 R14: dffffc0000000000 R15: 0000000000000000\n? ct_kernel_exit.constprop.0 (kernel/context_tracking.c:148)\n? cpuidle_idle_call (kernel/sched/idle.c:186)\ndefault_idle_call (./include/linux/cpuidle.h:143 kernel/sched/idle.c:118)\ncpuidle_idle_call (kernel/sched/idle.c:186)\n? __pfx_cpuidle_idle_call (kernel/sched/idle.c:168)\n? lock_release (kernel/locking/lockdep.c:467 kernel/locking/lockdep.c:5848)\n? lockdep_hardirqs_on_prepare (kernel/locking/lockdep.c:4347 kernel/locking/lockdep.c:4406)\n? tsc_verify_tsc_adjust (arch/x86/kernel/tsc_sync.c:59)\ndo_idle (kernel/sched/idle.c:326)\ncpu_startup_entry (kernel/sched/idle.c:423 (discriminator 1))\nstart_secondary (arch/x86/kernel/smpboot.c:202 arch/x86/kernel/smpboot.c:282)\n? __pfx_start_secondary (arch/x86/kernel/smpboot.c:232)\n? soft_restart_cpu (arch/x86/kernel/head_64.S:452)\ncommon_startup_64 (arch/x86/kernel/head_64.S:414)\n </TASK>\nDec 03 05:46:18 kernel:\nAllocated by task 12184:\nkasan_save_stack (mm/kasan/common.c:48)\nkasan_save_track (./arch/x86/include/asm/current.h:49 mm/kasan/common.c:60 mm/kasan/common.c:69)\n__kasan_slab_alloc (mm/kasan/common.c:319 mm/kasan/common.c:345)\nkmem_cache_alloc_noprof (mm/slub.c:4085 mm/slub.c:4134 mm/slub.c:4141)\ncopy_net_ns (net/core/net_namespace.c:421 net/core/net_namespace.c:480)\ncreate_new_namespaces\n---truncated---",
            },
         ],
         providerMetadata: {
            dateUpdated: "2025-01-20T06:25:12.704Z",
            orgId: "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            shortName: "Linux",
         },
         references: [
            {
               url: "https://git.kernel.org/stable/c/3267b254dc0a04dfa362a2be24573cfa6d2d78f5",
            },
            {
               url: "https://git.kernel.org/stable/c/b7a79e51297f7b82adb687086f5cb2da446f1e40",
            },
            {
               url: "https://git.kernel.org/stable/c/6610c7f8a8d47fd1123eed55ba8c11c2444d8842",
            },
            {
               url: "https://git.kernel.org/stable/c/0f6ede9fbc747e2553612271bce108f7517e7a45",
            },
         ],
         title: "net: defer final 'struct net' free in netns dismantle",
         x_generator: {
            engine: "bippy-5f407fcff5a0",
         },
      },
   },
   cveMetadata: {
      assignerOrgId: "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      assignerShortName: "Linux",
      cveId: "CVE-2024-56658",
      datePublished: "2024-12-27T15:06:21.516Z",
      dateReserved: "2024-12-27T15:00:39.841Z",
      dateUpdated: "2025-03-06T16:14:32.574Z",
      state: "PUBLISHED",
   },
   dataType: "CVE_RECORD",
   dataVersion: "5.1",
   "vulnerability-lookup:meta": {
      nvd: "{\"cve\":{\"id\":\"CVE-2024-56658\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2024-12-27T15:15:25.643\",\"lastModified\":\"2025-03-06T17:15:20.783\",\"vulnStatus\":\"Modified\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nnet: defer final 'struct net' free in netns dismantle\\n\\nIlya reported a slab-use-after-free in dst_destroy [1]\\n\\nIssue is in xfrm6_net_init() and xfrm4_net_init() :\\n\\nThey copy xfrm[46]_dst_ops_template into net->xfrm.xfrm[46]_dst_ops.\\n\\nBut net structure might be freed before all the dst callbacks are\\ncalled. So when dst_destroy() calls later :\\n\\nif (dst->ops->destroy)\\n    dst->ops->destroy(dst);\\n\\ndst->ops points to the old net->xfrm.xfrm[46]_dst_ops, which has been freed.\\n\\nSee a relevant issue fixed in :\\n\\nac888d58869b (\\\"net: do not delay dst_entries_add() in dst_release()\\\")\\n\\nA fix is to queue the 'struct net' to be freed after one\\nanother cleanup_net() round (and existing rcu_barrier())\\n\\n[1]\\n\\nBUG: KASAN: slab-use-after-free in dst_destroy (net/core/dst.c:112)\\nRead of size 8 at addr ffff8882137ccab0 by task swapper/37/0\\nDec 03 05:46:18 kernel:\\nCPU: 37 UID: 0 PID: 0 Comm: swapper/37 Kdump: loaded Not tainted 6.12.0 #67\\nHardware name: Red Hat KVM/RHEL, BIOS 1.16.1-1.el9 04/01/2014\\nCall Trace:\\n <IRQ>\\ndump_stack_lvl (lib/dump_stack.c:124)\\nprint_address_description.constprop.0 (mm/kasan/report.c:378)\\n? dst_destroy (net/core/dst.c:112)\\nprint_report (mm/kasan/report.c:489)\\n? dst_destroy (net/core/dst.c:112)\\n? kasan_addr_to_slab (mm/kasan/common.c:37)\\nkasan_report (mm/kasan/report.c:603)\\n? dst_destroy (net/core/dst.c:112)\\n? rcu_do_batch (kernel/rcu/tree.c:2567)\\ndst_destroy (net/core/dst.c:112)\\nrcu_do_batch (kernel/rcu/tree.c:2567)\\n? __pfx_rcu_do_batch (kernel/rcu/tree.c:2491)\\n? lockdep_hardirqs_on_prepare (kernel/locking/lockdep.c:4339 kernel/locking/lockdep.c:4406)\\nrcu_core (kernel/rcu/tree.c:2825)\\nhandle_softirqs (kernel/softirq.c:554)\\n__irq_exit_rcu (kernel/softirq.c:589 kernel/softirq.c:428 kernel/softirq.c:637)\\nirq_exit_rcu (kernel/softirq.c:651)\\nsysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1049 arch/x86/kernel/apic/apic.c:1049)\\n </IRQ>\\n <TASK>\\nasm_sysvec_apic_timer_interrupt (./arch/x86/include/asm/idtentry.h:702)\\nRIP: 0010:default_idle (./arch/x86/include/asm/irqflags.h:37 ./arch/x86/include/asm/irqflags.h:92 arch/x86/kernel/process.c:743)\\nCode: 00 4d 29 c8 4c 01 c7 4c 29 c2 e9 6e ff ff ff 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 66 90 0f 00 2d c7 c9 27 00 fb f4 <fa> c3 cc cc cc cc 66 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 90\\nRSP: 0018:ffff888100d2fe00 EFLAGS: 00000246\\nRAX: 00000000001870ed RBX: 1ffff110201a5fc2 RCX: ffffffffb61a3e46\\nRDX: 0000000000000000 RSI: 0000000000000000 RDI: ffffffffb3d4d123\\nRBP: 0000000000000000 R08: 0000000000000001 R09: ffffed11c7e1835d\\nR10: ffff888e3f0c1aeb R11: 0000000000000000 R12: 0000000000000000\\nR13: ffff888100d20000 R14: dffffc0000000000 R15: 0000000000000000\\n? ct_kernel_exit.constprop.0 (kernel/context_tracking.c:148)\\n? cpuidle_idle_call (kernel/sched/idle.c:186)\\ndefault_idle_call (./include/linux/cpuidle.h:143 kernel/sched/idle.c:118)\\ncpuidle_idle_call (kernel/sched/idle.c:186)\\n? __pfx_cpuidle_idle_call (kernel/sched/idle.c:168)\\n? lock_release (kernel/locking/lockdep.c:467 kernel/locking/lockdep.c:5848)\\n? lockdep_hardirqs_on_prepare (kernel/locking/lockdep.c:4347 kernel/locking/lockdep.c:4406)\\n? tsc_verify_tsc_adjust (arch/x86/kernel/tsc_sync.c:59)\\ndo_idle (kernel/sched/idle.c:326)\\ncpu_startup_entry (kernel/sched/idle.c:423 (discriminator 1))\\nstart_secondary (arch/x86/kernel/smpboot.c:202 arch/x86/kernel/smpboot.c:282)\\n? __pfx_start_secondary (arch/x86/kernel/smpboot.c:232)\\n? soft_restart_cpu (arch/x86/kernel/head_64.S:452)\\ncommon_startup_64 (arch/x86/kernel/head_64.S:414)\\n </TASK>\\nDec 03 05:46:18 kernel:\\nAllocated by task 12184:\\nkasan_save_stack (mm/kasan/common.c:48)\\nkasan_save_track (./arch/x86/include/asm/current.h:49 mm/kasan/common.c:60 mm/kasan/common.c:69)\\n__kasan_slab_alloc (mm/kasan/common.c:319 mm/kasan/common.c:345)\\nkmem_cache_alloc_noprof (mm/slub.c:4085 mm/slub.c:4134 mm/slub.c:4141)\\ncopy_net_ns (net/core/net_namespace.c:421 net/core/net_namespace.c:480)\\ncreate_new_namespaces\\n---truncated---\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: net: defer final 'struct net' free en netns dismantle Ilya informó de un slab-use-after-free en dst_destroy [1] El problema está en xfrm6_net_init() y xfrm4_net_init(): copian xfrm[46]_dst_ops_template en net-&gt;xfrm.xfrm[46]_dst_ops. Pero la estructura net podría liberarse antes de que se llamen todas las devoluciones de llamadas dst. Entonces, cuando dst_destroy() llama más tarde: if (dst-&gt;ops-&gt;destroy) dst-&gt;ops-&gt;destroy(dst); dst-&gt;ops apunta al antiguo net-&gt;xfrm.xfrm[46]_dst_ops, que ha sido liberado. Consulte un problema relevante corregido en: ac888d58869b (\\\"net: no demore dst_entries_add() en dst_release()\\\") Una solución es poner en cola la 'struct net' para que se libere después de otra ronda cleanup_net() (y rcu_barrier() existente) [1] ERROR: KASAN: slab-use-after-free en dst_destroy (net/core/dst.c:112) Lectura de tamaño 8 en la dirección ffff8882137ccab0 por la tarea swapper/37/0 03 de diciembre 05:46:18 kernel: CPU: 37 UID: 0 PID: 0 Comm: swapper/37 Kdump: cargado No contaminado 6.12.0 #67 Nombre del hardware: Red Hat KVM/RHEL, BIOS 1.16.1-1.el9 01/04/2014 Seguimiento de llamadas:  dump_stack_lvl (lib/dump_stack.c:124) imprimir_dirección_descripción.constprop.0 (mm/kasan/report.c:378) ? dst_destroy (net/core/dst.c:112) imprimir_informe (mm/kasan/report.c:489) ? dst_destroy (net/core/dst.c:112) ? kasan_addr_to_slab (mm/kasan/common.c:37) kasan_report (mm/kasan/report.c:603) ? dst_destroy (net/core/dst.c:112) ? __pfx_rcu_do_batch (kernel/rcu/tree.c:2491) ?  asm_sysvec_apic_timer_interrupt (./arch/x86/include/asm/idtentry.h:702) RIP: 0010:default_idle (./arch/x86/include/asm/irqflags.h:37 ./arch/x86/include/asm/irqflags.h:92 arch/x86/kernel/process.c:743) Código: 00 4d 29 c8 4c 01 c7 4c 29 c2 e9 6e ff ff ff 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 66 90 0f 00 2d c7 c9 27 00 fb f4  c3 cc cc cc cc 66 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 90 RSP: 0018:ffff888100d2fe00 EFLAGS: 00000246 RAX: 00000000001870ed RBX: 1ffff110201a5fc2 RCX: ffffffffb61a3e46 RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffffffffb3d4d123 RBP: 00000000000000000 R08: 0000000000000001 R09: fffffed11c7e1835d R10: ffff888e3f0c1aeb R11: 0000000000000000 R12: 0000000000000000 R13: ffff888100d20000 R14: dffffc0000000000 R15: 0000000000000000 ? __pfx_cpuidle_idle_call (kernel/sched/idle.c:168) ? lock_release (kernel/locking/lockdep.c:467 kernel/locking/lockdep.c:5848) ? lockdep_hardirqs_on_prepare (kernel/locking/lockdep.c:4347 kernel/locking/lockdep.c:4406) ? tsc_verify_tsc_adjust (arch/x86/kernel/tsc_sync.c:59) do_idle (kernel/sched/idle.c:326) cpu_startup_entry (kernel/sched/idle.c:423 (discriminador 1)) start_secondary (arch/x86/kernel/smpboot.c:202 arch/x86/kernel/smpboot.c:282) ? ¿__pfx_start_secondary (arch/x86/kernel/smpboot.c:232)? soft_restart_cpu (arch/x86/kernel/head_64.S:452) common_startup_64 (arch/x86/kernel/head_64.S:414)  03 de diciembre 05:46:18 kernel: Asignado por la tarea 12184: kasan_save_stack (mm/kasan/common.c:48) kasan_save_track (./arch/x86/include/asm/current.h:49 mm/kasan/common.c:60 mm/kasan/common.c:69) __kasan_slab_alloc (mm/kasan/common.c:319 mm/kasan/common.c:345) kmem_cache_alloc_noprof (mm/slub.c:4085 mm/slub.c:4134 mm/slub.c:4141) copy_net_ns (net/core/net_namespace.c:421 net/core/net_namespace.c:480) crear_nuevos_espacios_de_nombres ---truncado---\"}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H\",\"baseScore\":7.8,\"baseSeverity\":\"HIGH\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":5.9},{\"source\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H\",\"baseScore\":7.8,\"baseSeverity\":\"HIGH\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":5.9}]},\"weaknesses\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-416\"}]},{\"source\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\",\"type\":\"Secondary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-416\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"3.12.54\",\"versionEndExcluding\":\"3.13\",\"matchCriteriaId\":\"3CBDFF43-F898-4286-9677-F3E19704BF1C\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"3.18.27\",\"versionEndExcluding\":\"3.19\",\"matchCriteriaId\":\"14D92A66-8C70-4279-97AA-2054416F1C44\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"4.1.17\",\"versionEndExcluding\":\"4.2\",\"matchCriteriaId\":\"E2E107F1-35B3-421F-8885-96D2886DA0D5\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"4.3.5\",\"versionEndExcluding\":\"6.1.121\",\"matchCriteriaId\":\"D2F934CB-C8CE-4CA1-8364-08AD4C244702\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.2\",\"versionEndExcluding\":\"6.6.67\",\"matchCriteriaId\":\"BF4F2CD1-2CA6-4D6B-9B0C-57C3C4D6544A\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.7\",\"versionEndExcluding\":\"6.12.6\",\"matchCriteriaId\":\"0CB1A9BB-F95E-43DD-A2FD-147912FD91E5\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.13:rc1:*:*:*:*:*:*\",\"matchCriteriaId\":\"62567B3C-6CEE-46D0-BC2E-B3717FBF7D13\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.13:rc2:*:*:*:*:*:*\",\"matchCriteriaId\":\"5A073481-106D-4B15-B4C7-FB0213B8E1D4\"}]}]}],\"references\":[{\"url\":\"https://git.kernel.org/stable/c/0f6ede9fbc747e2553612271bce108f7517e7a45\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/3267b254dc0a04dfa362a2be24573cfa6d2d78f5\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/6610c7f8a8d47fd1123eed55ba8c11c2444d8842\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/b7a79e51297f7b82adb687086f5cb2da446f1e40\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]}]}}",
      vulnrichment: {
         containers: "{\"adp\": [{\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"cvssV3_1\": {\"scope\": \"UNCHANGED\", \"version\": \"3.1\", \"baseScore\": 7.8, \"attackVector\": \"LOCAL\", \"baseSeverity\": \"HIGH\", \"vectorString\": \"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H\", \"integrityImpact\": \"HIGH\", \"userInteraction\": \"NONE\", \"attackComplexity\": \"LOW\", \"availabilityImpact\": \"HIGH\", \"privilegesRequired\": \"LOW\", \"confidentialityImpact\": \"HIGH\"}}, {\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2024-56658\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"total\"}], \"version\": \"2.0.3\", \"timestamp\": \"2025-03-06T16:07:39.771240Z\"}}}], \"problemTypes\": [{\"descriptions\": [{\"lang\": \"en\", \"type\": \"CWE\", \"cweId\": \"CWE-416\", \"description\": \"CWE-416 Use After Free\"}]}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2025-03-06T16:07:41.125Z\"}}], \"cna\": {\"title\": \"net: defer final 'struct net' free in netns dismantle\", \"affected\": [{\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"a8a572a6b5f2a79280d6e302cb3c1cb1fbaeb3e8\", \"lessThan\": \"3267b254dc0a04dfa362a2be24573cfa6d2d78f5\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"a8a572a6b5f2a79280d6e302cb3c1cb1fbaeb3e8\", \"lessThan\": \"b7a79e51297f7b82adb687086f5cb2da446f1e40\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"a8a572a6b5f2a79280d6e302cb3c1cb1fbaeb3e8\", \"lessThan\": \"6610c7f8a8d47fd1123eed55ba8c11c2444d8842\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"a8a572a6b5f2a79280d6e302cb3c1cb1fbaeb3e8\", \"lessThan\": \"0f6ede9fbc747e2553612271bce108f7517e7a45\", \"versionType\": \"git\"}], \"programFiles\": [\"include/net/net_namespace.h\", \"net/core/net_namespace.c\"], \"defaultStatus\": \"unaffected\"}, {\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"4.4\"}, {\"status\": \"unaffected\", \"version\": \"0\", \"lessThan\": \"4.4\", \"versionType\": \"semver\"}, {\"status\": \"unaffected\", \"version\": \"6.1.121\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.1.*\"}, {\"status\": \"unaffected\", \"version\": \"6.6.67\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.6.*\"}, {\"status\": \"unaffected\", \"version\": \"6.12.6\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.12.*\"}, {\"status\": \"unaffected\", \"version\": \"6.13\", \"versionType\": \"original_commit_for_fix\", \"lessThanOrEqual\": \"*\"}], \"programFiles\": [\"include/net/net_namespace.h\", \"net/core/net_namespace.c\"], \"defaultStatus\": \"affected\"}], \"references\": [{\"url\": \"https://git.kernel.org/stable/c/3267b254dc0a04dfa362a2be24573cfa6d2d78f5\"}, {\"url\": \"https://git.kernel.org/stable/c/b7a79e51297f7b82adb687086f5cb2da446f1e40\"}, {\"url\": \"https://git.kernel.org/stable/c/6610c7f8a8d47fd1123eed55ba8c11c2444d8842\"}, {\"url\": \"https://git.kernel.org/stable/c/0f6ede9fbc747e2553612271bce108f7517e7a45\"}], \"x_generator\": {\"engine\": \"bippy-5f407fcff5a0\"}, \"descriptions\": [{\"lang\": \"en\", \"value\": \"In the Linux kernel, the following vulnerability has been resolved:\\n\\nnet: defer final 'struct net' free in netns dismantle\\n\\nIlya reported a slab-use-after-free in dst_destroy [1]\\n\\nIssue is in xfrm6_net_init() and xfrm4_net_init() :\\n\\nThey copy xfrm[46]_dst_ops_template into net->xfrm.xfrm[46]_dst_ops.\\n\\nBut net structure might be freed before all the dst callbacks are\\ncalled. So when dst_destroy() calls later :\\n\\nif (dst->ops->destroy)\\n    dst->ops->destroy(dst);\\n\\ndst->ops points to the old net->xfrm.xfrm[46]_dst_ops, which has been freed.\\n\\nSee a relevant issue fixed in :\\n\\nac888d58869b (\\\"net: do not delay dst_entries_add() in dst_release()\\\")\\n\\nA fix is to queue the 'struct net' to be freed after one\\nanother cleanup_net() round (and existing rcu_barrier())\\n\\n[1]\\n\\nBUG: KASAN: slab-use-after-free in dst_destroy (net/core/dst.c:112)\\nRead of size 8 at addr ffff8882137ccab0 by task swapper/37/0\\nDec 03 05:46:18 kernel:\\nCPU: 37 UID: 0 PID: 0 Comm: swapper/37 Kdump: loaded Not tainted 6.12.0 #67\\nHardware name: Red Hat KVM/RHEL, BIOS 1.16.1-1.el9 04/01/2014\\nCall Trace:\\n <IRQ>\\ndump_stack_lvl (lib/dump_stack.c:124)\\nprint_address_description.constprop.0 (mm/kasan/report.c:378)\\n? dst_destroy (net/core/dst.c:112)\\nprint_report (mm/kasan/report.c:489)\\n? dst_destroy (net/core/dst.c:112)\\n? kasan_addr_to_slab (mm/kasan/common.c:37)\\nkasan_report (mm/kasan/report.c:603)\\n? dst_destroy (net/core/dst.c:112)\\n? rcu_do_batch (kernel/rcu/tree.c:2567)\\ndst_destroy (net/core/dst.c:112)\\nrcu_do_batch (kernel/rcu/tree.c:2567)\\n? __pfx_rcu_do_batch (kernel/rcu/tree.c:2491)\\n? lockdep_hardirqs_on_prepare (kernel/locking/lockdep.c:4339 kernel/locking/lockdep.c:4406)\\nrcu_core (kernel/rcu/tree.c:2825)\\nhandle_softirqs (kernel/softirq.c:554)\\n__irq_exit_rcu (kernel/softirq.c:589 kernel/softirq.c:428 kernel/softirq.c:637)\\nirq_exit_rcu (kernel/softirq.c:651)\\nsysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1049 arch/x86/kernel/apic/apic.c:1049)\\n </IRQ>\\n <TASK>\\nasm_sysvec_apic_timer_interrupt (./arch/x86/include/asm/idtentry.h:702)\\nRIP: 0010:default_idle (./arch/x86/include/asm/irqflags.h:37 ./arch/x86/include/asm/irqflags.h:92 arch/x86/kernel/process.c:743)\\nCode: 00 4d 29 c8 4c 01 c7 4c 29 c2 e9 6e ff ff ff 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 66 90 0f 00 2d c7 c9 27 00 fb f4 <fa> c3 cc cc cc cc 66 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 90\\nRSP: 0018:ffff888100d2fe00 EFLAGS: 00000246\\nRAX: 00000000001870ed RBX: 1ffff110201a5fc2 RCX: ffffffffb61a3e46\\nRDX: 0000000000000000 RSI: 0000000000000000 RDI: ffffffffb3d4d123\\nRBP: 0000000000000000 R08: 0000000000000001 R09: ffffed11c7e1835d\\nR10: ffff888e3f0c1aeb R11: 0000000000000000 R12: 0000000000000000\\nR13: ffff888100d20000 R14: dffffc0000000000 R15: 0000000000000000\\n? ct_kernel_exit.constprop.0 (kernel/context_tracking.c:148)\\n? cpuidle_idle_call (kernel/sched/idle.c:186)\\ndefault_idle_call (./include/linux/cpuidle.h:143 kernel/sched/idle.c:118)\\ncpuidle_idle_call (kernel/sched/idle.c:186)\\n? __pfx_cpuidle_idle_call (kernel/sched/idle.c:168)\\n? lock_release (kernel/locking/lockdep.c:467 kernel/locking/lockdep.c:5848)\\n? lockdep_hardirqs_on_prepare (kernel/locking/lockdep.c:4347 kernel/locking/lockdep.c:4406)\\n? tsc_verify_tsc_adjust (arch/x86/kernel/tsc_sync.c:59)\\ndo_idle (kernel/sched/idle.c:326)\\ncpu_startup_entry (kernel/sched/idle.c:423 (discriminator 1))\\nstart_secondary (arch/x86/kernel/smpboot.c:202 arch/x86/kernel/smpboot.c:282)\\n? __pfx_start_secondary (arch/x86/kernel/smpboot.c:232)\\n? soft_restart_cpu (arch/x86/kernel/head_64.S:452)\\ncommon_startup_64 (arch/x86/kernel/head_64.S:414)\\n </TASK>\\nDec 03 05:46:18 kernel:\\nAllocated by task 12184:\\nkasan_save_stack (mm/kasan/common.c:48)\\nkasan_save_track (./arch/x86/include/asm/current.h:49 mm/kasan/common.c:60 mm/kasan/common.c:69)\\n__kasan_slab_alloc (mm/kasan/common.c:319 mm/kasan/common.c:345)\\nkmem_cache_alloc_noprof (mm/slub.c:4085 mm/slub.c:4134 mm/slub.c:4141)\\ncopy_net_ns (net/core/net_namespace.c:421 net/core/net_namespace.c:480)\\ncreate_new_namespaces\\n---truncated---\"}], \"providerMetadata\": {\"orgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"shortName\": \"Linux\", \"dateUpdated\": \"2025-01-20T06:25:12.704Z\"}}}",
         cveMetadata: "{\"cveId\": \"CVE-2024-56658\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2025-03-06T16:14:32.574Z\", \"dateReserved\": \"2024-12-27T15:00:39.841Z\", \"assignerOrgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"datePublished\": \"2024-12-27T15:06:21.516Z\", \"assignerShortName\": \"Linux\"}",
         dataType: "CVE_RECORD",
         dataVersion: "5.1",
      },
   },
}


Log in or create an account to share your comment.

Security Advisory comment format.

This schema specifies the format of a comment related to a security advisory.

UUIDv4 of the comment
UUIDv4 of the Vulnerability-Lookup instance
When the comment was created originally
When the comment was last updated
Title of the comment
Description of the comment
The identifier of the vulnerability (CVE ID, GHSA-ID, PYSEC ID, etc.).



Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.