GCVE Workshop - 22 September 2026 (14:00-18:00), Luxembourg Before The Vulnopticon Conference - Registration

CVE-2022-49014 (GCVE-0-2022-49014)

Vulnerability from cvelistv5 – Published: 2024-10-21 20:06 – Updated: 2026-08-05 08:53
VLAI
Title
net: tun: Fix use-after-free in tun_detach()
Summary
In the Linux kernel, the following vulnerability has been resolved: net: tun: Fix use-after-free in tun_detach() syzbot reported use-after-free in tun_detach() [1]. This causes call trace like below: ================================================================== BUG: KASAN: use-after-free in notifier_call_chain+0x1ee/0x200 kernel/notifier.c:75 Read of size 8 at addr ffff88807324e2a8 by task syz-executor.0/3673 CPU: 0 PID: 3673 Comm: syz-executor.0 Not tainted 6.1.0-rc5-syzkaller-00044-gcc675d22e422 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/26/2022 Call Trace: <TASK> __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0xd1/0x138 lib/dump_stack.c:106 print_address_description mm/kasan/report.c:284 [inline] print_report+0x15e/0x461 mm/kasan/report.c:395 kasan_report+0xbf/0x1f0 mm/kasan/report.c:495 notifier_call_chain+0x1ee/0x200 kernel/notifier.c:75 call_netdevice_notifiers_info+0x86/0x130 net/core/dev.c:1942 call_netdevice_notifiers_extack net/core/dev.c:1983 [inline] call_netdevice_notifiers net/core/dev.c:1997 [inline] netdev_wait_allrefs_any net/core/dev.c:10237 [inline] netdev_run_todo+0xbc6/0x1100 net/core/dev.c:10351 tun_detach drivers/net/tun.c:704 [inline] tun_chr_close+0xe4/0x190 drivers/net/tun.c:3467 __fput+0x27c/0xa90 fs/file_table.c:320 task_work_run+0x16f/0x270 kernel/task_work.c:179 exit_task_work include/linux/task_work.h:38 [inline] do_exit+0xb3d/0x2a30 kernel/exit.c:820 do_group_exit+0xd4/0x2a0 kernel/exit.c:950 get_signal+0x21b1/0x2440 kernel/signal.c:2858 arch_do_signal_or_restart+0x86/0x2300 arch/x86/kernel/signal.c:869 exit_to_user_mode_loop kernel/entry/common.c:168 [inline] exit_to_user_mode_prepare+0x15f/0x250 kernel/entry/common.c:203 __syscall_exit_to_user_mode_work kernel/entry/common.c:285 [inline] syscall_exit_to_user_mode+0x1d/0x50 kernel/entry/common.c:296 do_syscall_64+0x46/0xb0 arch/x86/entry/common.c:86 entry_SYSCALL_64_after_hwframe+0x63/0xcd The cause of the issue is that sock_put() from __tun_detach() drops last reference count for struct net, and then notifier_call_chain() from netdev_state_change() accesses that struct net. This patch fixes the issue by calling sock_put() from tun_detach() after all necessary accesses for the struct net has done.
SSVC
Exploitation: none Automatable: no Technical Impact: partial
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2024-10-22 13:13 UTC
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: 83c1f36f9880814b24cdf6c2f91f66f61db65326 , < 1f23f1890d91812c35d32eab1b49621b6d32dc7b (git)
Affected: 83c1f36f9880814b24cdf6c2f91f66f61db65326 , < 16c244bc65d1175775325ec0489a5a5c830e02c7 (git)
Affected: 83c1f36f9880814b24cdf6c2f91f66f61db65326 , < 5f442e1d403e0496bacb74a58e2be7f500695e6f (git)
Affected: 83c1f36f9880814b24cdf6c2f91f66f61db65326 , < 04b995e963229501401810dab89dc73e7f12d054 (git)
Affected: 83c1f36f9880814b24cdf6c2f91f66f61db65326 , < 4cde8da2d814a3b7b176db81922d4ddaad7c0f0e (git)
Affected: 83c1f36f9880814b24cdf6c2f91f66f61db65326 , < 5daadc86f27ea4d691e2131c04310d0418c6cd12 (git)
guessed Create a notification for this product.
Linux Linux Affected: 4.17
Unaffected: 0 , < 4.17 (semver)
Unaffected: 4.19.268 , ≤ 4.19.* (semver)
Unaffected: 5.4.226 , ≤ 5.4.* (semver)
Unaffected: 5.10.158 , ≤ 5.10.* (semver)
Unaffected: 5.15.82 , ≤ 5.15.* (semver)
Unaffected: 6.0.12 , ≤ 6.0.* (semver)
Unaffected: 6.1 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "adp": [
      {
        "metrics": [
          {
            "other": {
              "content": {
                "id": "CVE-2022-49014",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2024-10-22T13:13:28.883740Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2024-10-22T13:18:38.243Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/net/tun.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "1f23f1890d91812c35d32eab1b49621b6d32dc7b",
              "status": "affected",
              "version": "83c1f36f9880814b24cdf6c2f91f66f61db65326",
              "versionType": "git"
            },
            {
              "lessThan": "16c244bc65d1175775325ec0489a5a5c830e02c7",
              "status": "affected",
              "version": "83c1f36f9880814b24cdf6c2f91f66f61db65326",
              "versionType": "git"
            },
            {
              "lessThan": "5f442e1d403e0496bacb74a58e2be7f500695e6f",
              "status": "affected",
              "version": "83c1f36f9880814b24cdf6c2f91f66f61db65326",
              "versionType": "git"
            },
            {
              "lessThan": "04b995e963229501401810dab89dc73e7f12d054",
              "status": "affected",
              "version": "83c1f36f9880814b24cdf6c2f91f66f61db65326",
              "versionType": "git"
            },
            {
              "lessThan": "4cde8da2d814a3b7b176db81922d4ddaad7c0f0e",
              "status": "affected",
              "version": "83c1f36f9880814b24cdf6c2f91f66f61db65326",
              "versionType": "git"
            },
            {
              "lessThan": "5daadc86f27ea4d691e2131c04310d0418c6cd12",
              "status": "affected",
              "version": "83c1f36f9880814b24cdf6c2f91f66f61db65326",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/net/tun.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "4.17"
            },
            {
              "lessThan": "4.17",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "4.19.*",
              "status": "unaffected",
              "version": "4.19.268",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.4.*",
              "status": "unaffected",
              "version": "5.4.226",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.158",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.82",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.0.*",
              "status": "unaffected",
              "version": "6.0.12",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.1",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "4.19.268",
                  "versionStartIncluding": "4.17",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.4.226",
                  "versionStartIncluding": "4.17",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.158",
                  "versionStartIncluding": "4.17",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.82",
                  "versionStartIncluding": "4.17",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.0.12",
                  "versionStartIncluding": "4.17",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1",
                  "versionStartIncluding": "4.17",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnet: tun: Fix use-after-free in tun_detach()\n\nsyzbot reported use-after-free in tun_detach() [1].  This causes call\ntrace like below:\n\n==================================================================\nBUG: KASAN: use-after-free in notifier_call_chain+0x1ee/0x200 kernel/notifier.c:75\nRead of size 8 at addr ffff88807324e2a8 by task syz-executor.0/3673\n\nCPU: 0 PID: 3673 Comm: syz-executor.0 Not tainted 6.1.0-rc5-syzkaller-00044-gcc675d22e422 #0\nHardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/26/2022\nCall Trace:\n \u003cTASK\u003e\n __dump_stack lib/dump_stack.c:88 [inline]\n dump_stack_lvl+0xd1/0x138 lib/dump_stack.c:106\n print_address_description mm/kasan/report.c:284 [inline]\n print_report+0x15e/0x461 mm/kasan/report.c:395\n kasan_report+0xbf/0x1f0 mm/kasan/report.c:495\n notifier_call_chain+0x1ee/0x200 kernel/notifier.c:75\n call_netdevice_notifiers_info+0x86/0x130 net/core/dev.c:1942\n call_netdevice_notifiers_extack net/core/dev.c:1983 [inline]\n call_netdevice_notifiers net/core/dev.c:1997 [inline]\n netdev_wait_allrefs_any net/core/dev.c:10237 [inline]\n netdev_run_todo+0xbc6/0x1100 net/core/dev.c:10351\n tun_detach drivers/net/tun.c:704 [inline]\n tun_chr_close+0xe4/0x190 drivers/net/tun.c:3467\n __fput+0x27c/0xa90 fs/file_table.c:320\n task_work_run+0x16f/0x270 kernel/task_work.c:179\n exit_task_work include/linux/task_work.h:38 [inline]\n do_exit+0xb3d/0x2a30 kernel/exit.c:820\n do_group_exit+0xd4/0x2a0 kernel/exit.c:950\n get_signal+0x21b1/0x2440 kernel/signal.c:2858\n arch_do_signal_or_restart+0x86/0x2300 arch/x86/kernel/signal.c:869\n exit_to_user_mode_loop kernel/entry/common.c:168 [inline]\n exit_to_user_mode_prepare+0x15f/0x250 kernel/entry/common.c:203\n __syscall_exit_to_user_mode_work kernel/entry/common.c:285 [inline]\n syscall_exit_to_user_mode+0x1d/0x50 kernel/entry/common.c:296\n do_syscall_64+0x46/0xb0 arch/x86/entry/common.c:86\n entry_SYSCALL_64_after_hwframe+0x63/0xcd\n\nThe cause of the issue is that sock_put() from __tun_detach() drops\nlast reference count for struct net, and then notifier_call_chain()\nfrom netdev_state_change() accesses that struct net.\n\nThis patch fixes the issue by calling sock_put() from tun_detach()\nafter all necessary accesses for the struct net has done."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7.8,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - The bug is reached by opening /dev/net/tun, attaching via TUNSETIFF, then closing the fd (tun_chr_close \u2192 tun_detach); this is a local char-dev/ioctl path, not remote packet processing.\nAC:L - An attacker who creates a dedicated netns, attaches a non-persistent TUN, and exits deterministically drops the last struct net ref via sock_put while netdev_run_todo sleeps in netdev_wait_allrefs, so cleanup_net frees the net before notifier_call_chain runs; syzbot hit this repeatedly with no attacker-uncontrollable condition.\nPR:L - Creating a TUN device requires only ns_capable(net-\u003euser_ns, CAP_NET_ADMIN), which an unprivileged user obtains via user+net namespaces (unshare -Urn); /dev/net/tun is world-accessible and syzbot reproduced via unshare/copy_net_ns.\nUI:N - The attacker opens the TUN device, configures it, and exits entirely on their own; no victim action is required.\nS:U - This is a standard in-kernel use-after-free enabling local privilege escalation within the same kernel security authority, with no VM escape or IOMMU/sandbox boundary crossing.\nC:H - The UAF frees a ~6.7KB struct net slab object that is later read in notifier_call_chain via net-\u003enetdev_chain; reclaiming that object enables arbitrary kernel memory disclosure.\nI:H - Reclaiming the freed net_namespace object lets an attacker control the notifier chain walked by notifier_call_chain, yielding function-pointer hijack and arbitrary write/code-execution primitives.\nA:H - Any use-after-free is scored A:H; accessing the freed struct net during netdev unregister notifiers can oops/panic the kernel even without a full exploit."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T08:53:25.973Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/1f23f1890d91812c35d32eab1b49621b6d32dc7b"
        },
        {
          "url": "https://git.kernel.org/stable/c/16c244bc65d1175775325ec0489a5a5c830e02c7"
        },
        {
          "url": "https://git.kernel.org/stable/c/5f442e1d403e0496bacb74a58e2be7f500695e6f"
        },
        {
          "url": "https://git.kernel.org/stable/c/04b995e963229501401810dab89dc73e7f12d054"
        },
        {
          "url": "https://git.kernel.org/stable/c/4cde8da2d814a3b7b176db81922d4ddaad7c0f0e"
        },
        {
          "url": "https://git.kernel.org/stable/c/5daadc86f27ea4d691e2131c04310d0418c6cd12"
        }
      ],
      "title": "net: tun: Fix use-after-free in tun_detach()",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2022-49014",
    "datePublished": "2024-10-21T20:06:24.020Z",
    "dateReserved": "2024-08-22T01:27:53.645Z",
    "dateUpdated": "2026-08-05T08:53:25.973Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2022-49014",
      "date": "2026-09-16",
      "epss": "0.00263",
      "percentile": "0.18301"
    },
    "fkie_nvd": {
      "configurations": "[{\"nodes\": [{\"operator\": \"OR\", \"negate\": false, \"cpeMatch\": [{\"vulnerable\": true, \"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"versionStartIncluding\": \"4.17\", \"versionEndExcluding\": \"4.19.268\", \"matchCriteriaId\": \"F418A145-8A14-43A0-823E-F1C684FB9825\"}, {\"vulnerable\": true, \"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"versionStartIncluding\": \"4.20\", \"versionEndExcluding\": \"5.4.226\", \"matchCriteriaId\": \"274F5087-5805-4D03-8C74-8517300658F1\"}, {\"vulnerable\": true, \"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"versionStartIncluding\": \"5.5\", \"versionEndExcluding\": \"5.10.158\", \"matchCriteriaId\": \"D0FB1AF1-0A0B-4419-B25F-C61F17380E18\"}, {\"vulnerable\": true, \"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"versionStartIncluding\": \"5.11\", \"versionEndExcluding\": \"5.15.82\", \"matchCriteriaId\": \"0DC20DB6-73C1-4465-B931-117BFB8EBB02\"}, {\"vulnerable\": true, \"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"versionStartIncluding\": \"5.16\", \"versionEndExcluding\": \"6.0.12\", \"matchCriteriaId\": \"D6D56E90-F3EE-413D-B3E2-B518932F0C7D\"}, {\"vulnerable\": true, \"criteria\": \"cpe:2.3:o:linux:linux_kernel:6.1:rc1:*:*:*:*:*:*\", \"matchCriteriaId\": \"E7E331DA-1FB0-4DEC-91AC-7DA69D461C11\"}, {\"vulnerable\": true, \"criteria\": \"cpe:2.3:o:linux:linux_kernel:6.1:rc2:*:*:*:*:*:*\", \"matchCriteriaId\": \"17F0B248-42CF-4AE6-A469-BB1BAE7F4705\"}, {\"vulnerable\": true, \"criteria\": \"cpe:2.3:o:linux:linux_kernel:6.1:rc3:*:*:*:*:*:*\", \"matchCriteriaId\": \"E2422816-0C14-4B5E-A1E6-A9D776E5C49B\"}, {\"vulnerable\": true, \"criteria\": \"cpe:2.3:o:linux:linux_kernel:6.1:rc4:*:*:*:*:*:*\", \"matchCriteriaId\": \"1C6E00FE-5FB9-4D20-A1A1-5A32128F9B76\"}, {\"vulnerable\": true, \"criteria\": \"cpe:2.3:o:linux:linux_kernel:6.1:rc5:*:*:*:*:*:*\", \"matchCriteriaId\": \"35B26BE4-43A6-4A36-A7F6-5B3F572D9186\"}, {\"vulnerable\": true, \"criteria\": \"cpe:2.3:o:linux:linux_kernel:6.1:rc6:*:*:*:*:*:*\", \"matchCriteriaId\": \"3FFFB0B3-930D-408A-91E2-BAE0C2715D80\"}, {\"vulnerable\": true, \"criteria\": \"cpe:2.3:o:linux:linux_kernel:6.1:rc7:*:*:*:*:*:*\", \"matchCriteriaId\": \"8535320E-A0DB-4277-800E-D0CE5BBA59E8\"}]}]}]",
      "descriptions": "[{\"lang\": \"en\", \"value\": \"In the Linux kernel, the following vulnerability has been resolved:\\n\\nnet: tun: Fix use-after-free in tun_detach()\\n\\nsyzbot reported use-after-free in tun_detach() [1].  This causes call\\ntrace like below:\\n\\n==================================================================\\nBUG: KASAN: use-after-free in notifier_call_chain+0x1ee/0x200 kernel/notifier.c:75\\nRead of size 8 at addr ffff88807324e2a8 by task syz-executor.0/3673\\n\\nCPU: 0 PID: 3673 Comm: syz-executor.0 Not tainted 6.1.0-rc5-syzkaller-00044-gcc675d22e422 #0\\nHardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/26/2022\\nCall Trace:\\n \u003cTASK\u003e\\n __dump_stack lib/dump_stack.c:88 [inline]\\n dump_stack_lvl+0xd1/0x138 lib/dump_stack.c:106\\n print_address_description mm/kasan/report.c:284 [inline]\\n print_report+0x15e/0x461 mm/kasan/report.c:395\\n kasan_report+0xbf/0x1f0 mm/kasan/report.c:495\\n notifier_call_chain+0x1ee/0x200 kernel/notifier.c:75\\n call_netdevice_notifiers_info+0x86/0x130 net/core/dev.c:1942\\n call_netdevice_notifiers_extack net/core/dev.c:1983 [inline]\\n call_netdevice_notifiers net/core/dev.c:1997 [inline]\\n netdev_wait_allrefs_any net/core/dev.c:10237 [inline]\\n netdev_run_todo+0xbc6/0x1100 net/core/dev.c:10351\\n tun_detach drivers/net/tun.c:704 [inline]\\n tun_chr_close+0xe4/0x190 drivers/net/tun.c:3467\\n __fput+0x27c/0xa90 fs/file_table.c:320\\n task_work_run+0x16f/0x270 kernel/task_work.c:179\\n exit_task_work include/linux/task_work.h:38 [inline]\\n do_exit+0xb3d/0x2a30 kernel/exit.c:820\\n do_group_exit+0xd4/0x2a0 kernel/exit.c:950\\n get_signal+0x21b1/0x2440 kernel/signal.c:2858\\n arch_do_signal_or_restart+0x86/0x2300 arch/x86/kernel/signal.c:869\\n exit_to_user_mode_loop kernel/entry/common.c:168 [inline]\\n exit_to_user_mode_prepare+0x15f/0x250 kernel/entry/common.c:203\\n __syscall_exit_to_user_mode_work kernel/entry/common.c:285 [inline]\\n syscall_exit_to_user_mode+0x1d/0x50 kernel/entry/common.c:296\\n do_syscall_64+0x46/0xb0 arch/x86/entry/common.c:86\\n entry_SYSCALL_64_after_hwframe+0x63/0xcd\\n\\nThe cause of the issue is that sock_put() from __tun_detach() drops\\nlast reference count for struct net, and then notifier_call_chain()\\nfrom netdev_state_change() accesses that struct net.\\n\\nThis patch fixes the issue by calling sock_put() from tun_detach()\\nafter all necessary accesses for the struct net has done.\"}, {\"lang\": \"es\", \"value\": \"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: net: tun: Se corrige el use after free en tun_detach() syzbot inform\\u00f3 use after free en tun_detach() [1]. Esto provoca un seguimiento de llamadas como el siguiente: ==================================================================== ERROR: KASAN: use after free en notifier_call_chain+0x1ee/0x200 kernel/notifier.c:75 Lectura de tama\\u00f1o 8 en la direcci\\u00f3n ffff88807324e2a8 por la tarea syz-executor.0/3673 CPU: 0 PID: 3673 Comm: syz-executor.0 No contaminado 6.1.0-rc5-syzkaller-00044-gcc675d22e422 #0 Nombre del hardware: Google Google Compute Engine/Google Compute Engine, BIOS Google 26/10/2022 Seguimiento de llamadas:  __dump_stack lib/dump_stack.c:88 [en l\\u00ednea] dump_stack_lvl+0xd1/0x138 lib/dump_stack.c:106 print_address_description mm/kasan/report.c:284 [en l\\u00ednea] print_report+0x15e/0x461 mm/kasan/report.c:395 kasan_report+0xbf/0x1f0 mm/kasan/report.c:495 notifier_call_chain+0x1ee/0x200 kernel/notifier.c:75 call_netdevice_notifiers_info+0x86/0x130 net/core/dev.c:1942 call_netdevice_notifiers_extack net/core/dev.c:1983 [en l\\u00ednea] llamar_notificadores_dispositivos_de_red net/core/dev.c:1997 [en l\\u00ednea] netdev_wait_allrefs_any net/core/dev.c:10237 [en l\\u00ednea] netdev_run_todo+0xbc6/0x1100 net/core/dev.c:10351 tun_detach drivers/net/tun.c:704 [en l\\u00ednea] tun_chr_close+0xe4/0x190 drivers/net/tun.c:3467 __fput+0x27c/0xa90 fs/file_table.c:320 tarea_trabajo_ejecutar+0x16f/0x270 kernel/tarea_trabajo.c:179 salir_tarea_trabajo incluir/linux/tarea_trabajo.h:38 [en l\\u00ednea] hacer_salir+0xb3d/0x2a30 kernel/exit.c:820 hacer_grupo_salir+0xd4/0x2a0 kernel/exit.c:950 obtener_se\\u00f1al+0x21b1/0x2440 kernel/se\\u00f1al.c:2858 arch_hacer_se\\u00f1al_o_reiniciar+0x86/0x2300 arch/x86/kernel/signal.c:869 bucle_salir_a_modo_usuario kernel/entry/common.c:168 [en l\\u00ednea] preparar_salir_a_modo_usuario+0x15f/0x250 kernel/entry/common.c:203 __syscall_salir_a_modo_usuario_trabajo kernel/entry/common.c:285 [en l\\u00ednea] syscall_salir_a_modo_usuario+0x1d/0x50 kernel/entry/common.c:296 La causa del problema es que sock_put() de __tun_detach() descarta el \\u00faltimo recuento de referencias para struct net y luego notifier_call_chain() de netdev_state_change() accede a ese struct net. Este parche corrige el problema llamando a sock_put() desde tun_detach() despu\\u00e9s de que se hayan realizado todos los accesos necesarios para struct net.\"}]",
      "id": "CVE-2022-49014",
      "lastModified": "2024-10-24T18:29:23.407",
      "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}]}",
      "published": "2024-10-21T20:15:12.707",
      "references": "[{\"url\": \"https://git.kernel.org/stable/c/04b995e963229501401810dab89dc73e7f12d054\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"tags\": [\"Patch\"]}, {\"url\": \"https://git.kernel.org/stable/c/16c244bc65d1175775325ec0489a5a5c830e02c7\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"tags\": [\"Patch\"]}, {\"url\": \"https://git.kernel.org/stable/c/1f23f1890d91812c35d32eab1b49621b6d32dc7b\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"tags\": [\"Patch\"]}, {\"url\": \"https://git.kernel.org/stable/c/4cde8da2d814a3b7b176db81922d4ddaad7c0f0e\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"tags\": [\"Patch\"]}, {\"url\": \"https://git.kernel.org/stable/c/5daadc86f27ea4d691e2131c04310d0418c6cd12\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"tags\": [\"Patch\"]}, {\"url\": \"https://git.kernel.org/stable/c/5f442e1d403e0496bacb74a58e2be7f500695e6f\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"tags\": [\"Patch\"]}]",
      "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "vulnStatus": "Analyzed",
      "weaknesses": "[{\"source\": \"nvd@nist.gov\", \"type\": \"Primary\", \"description\": [{\"lang\": \"en\", \"value\": \"CWE-416\"}]}]"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2022-49014\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2024-10-21T20:15:12.707\",\"lastModified\":\"2026-08-04T10:17:30.860\",\"vulnStatus\":\"Modified\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nnet: tun: Fix use-after-free in tun_detach()\\n\\nsyzbot reported use-after-free in tun_detach() [1].  This causes call\\ntrace like below:\\n\\n==================================================================\\nBUG: KASAN: use-after-free in notifier_call_chain+0x1ee/0x200 kernel/notifier.c:75\\nRead of size 8 at addr ffff88807324e2a8 by task syz-executor.0/3673\\n\\nCPU: 0 PID: 3673 Comm: syz-executor.0 Not tainted 6.1.0-rc5-syzkaller-00044-gcc675d22e422 #0\\nHardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/26/2022\\nCall Trace:\\n \u003cTASK\u003e\\n __dump_stack lib/dump_stack.c:88 [inline]\\n dump_stack_lvl+0xd1/0x138 lib/dump_stack.c:106\\n print_address_description mm/kasan/report.c:284 [inline]\\n print_report+0x15e/0x461 mm/kasan/report.c:395\\n kasan_report+0xbf/0x1f0 mm/kasan/report.c:495\\n notifier_call_chain+0x1ee/0x200 kernel/notifier.c:75\\n call_netdevice_notifiers_info+0x86/0x130 net/core/dev.c:1942\\n call_netdevice_notifiers_extack net/core/dev.c:1983 [inline]\\n call_netdevice_notifiers net/core/dev.c:1997 [inline]\\n netdev_wait_allrefs_any net/core/dev.c:10237 [inline]\\n netdev_run_todo+0xbc6/0x1100 net/core/dev.c:10351\\n tun_detach drivers/net/tun.c:704 [inline]\\n tun_chr_close+0xe4/0x190 drivers/net/tun.c:3467\\n __fput+0x27c/0xa90 fs/file_table.c:320\\n task_work_run+0x16f/0x270 kernel/task_work.c:179\\n exit_task_work include/linux/task_work.h:38 [inline]\\n do_exit+0xb3d/0x2a30 kernel/exit.c:820\\n do_group_exit+0xd4/0x2a0 kernel/exit.c:950\\n get_signal+0x21b1/0x2440 kernel/signal.c:2858\\n arch_do_signal_or_restart+0x86/0x2300 arch/x86/kernel/signal.c:869\\n exit_to_user_mode_loop kernel/entry/common.c:168 [inline]\\n exit_to_user_mode_prepare+0x15f/0x250 kernel/entry/common.c:203\\n __syscall_exit_to_user_mode_work kernel/entry/common.c:285 [inline]\\n syscall_exit_to_user_mode+0x1d/0x50 kernel/entry/common.c:296\\n do_syscall_64+0x46/0xb0 arch/x86/entry/common.c:86\\n entry_SYSCALL_64_after_hwframe+0x63/0xcd\\n\\nThe cause of the issue is that sock_put() from __tun_detach() drops\\nlast reference count for struct net, and then notifier_call_chain()\\nfrom netdev_state_change() accesses that struct net.\\n\\nThis patch fixes the issue by calling sock_put() from tun_detach()\\nafter all necessary accesses for the struct net has done.\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: net: tun: Se corrige el use after free en tun_detach() syzbot inform\u00f3 use after free en tun_detach() [1]. Esto provoca un seguimiento de llamadas como el siguiente: ==================================================================== ERROR: KASAN: use after free en notifier_call_chain+0x1ee/0x200 kernel/notifier.c:75 Lectura de tama\u00f1o 8 en la direcci\u00f3n ffff88807324e2a8 por la tarea syz-executor.0/3673 CPU: 0 PID: 3673 Comm: syz-executor.0 No contaminado 6.1.0-rc5-syzkaller-00044-gcc675d22e422 #0 Nombre del hardware: Google Google Compute Engine/Google Compute Engine, BIOS Google 26/10/2022 Seguimiento de llamadas:  __dump_stack lib/dump_stack.c:88 [en l\u00ednea] dump_stack_lvl+0xd1/0x138 lib/dump_stack.c:106 print_address_description mm/kasan/report.c:284 [en l\u00ednea] print_report+0x15e/0x461 mm/kasan/report.c:395 kasan_report+0xbf/0x1f0 mm/kasan/report.c:495 notifier_call_chain+0x1ee/0x200 kernel/notifier.c:75 call_netdevice_notifiers_info+0x86/0x130 net/core/dev.c:1942 call_netdevice_notifiers_extack net/core/dev.c:1983 [en l\u00ednea] llamar_notificadores_dispositivos_de_red net/core/dev.c:1997 [en l\u00ednea] netdev_wait_allrefs_any net/core/dev.c:10237 [en l\u00ednea] netdev_run_todo+0xbc6/0x1100 net/core/dev.c:10351 tun_detach drivers/net/tun.c:704 [en l\u00ednea] tun_chr_close+0xe4/0x190 drivers/net/tun.c:3467 __fput+0x27c/0xa90 fs/file_table.c:320 tarea_trabajo_ejecutar+0x16f/0x270 kernel/tarea_trabajo.c:179 salir_tarea_trabajo incluir/linux/tarea_trabajo.h:38 [en l\u00ednea] hacer_salir+0xb3d/0x2a30 kernel/exit.c:820 hacer_grupo_salir+0xd4/0x2a0 kernel/exit.c:950 obtener_se\u00f1al+0x21b1/0x2440 kernel/se\u00f1al.c:2858 arch_hacer_se\u00f1al_o_reiniciar+0x86/0x2300 arch/x86/kernel/signal.c:869 bucle_salir_a_modo_usuario kernel/entry/common.c:168 [en l\u00ednea] preparar_salir_a_modo_usuario+0x15f/0x250 kernel/entry/common.c:203 __syscall_salir_a_modo_usuario_trabajo kernel/entry/common.c:285 [en l\u00ednea] syscall_salir_a_modo_usuario+0x1d/0x50 kernel/entry/common.c:296 La causa del problema es que sock_put() de __tun_detach() descarta el \u00faltimo recuento de referencias para struct net y luego notifier_call_chain() de netdev_state_change() accede a ese struct net. Este parche corrige el problema llamando a sock_put() desde tun_detach() despu\u00e9s de que se hayan realizado todos los accesos necesarios para struct net.\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"drivers/net/tun.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"83c1f36f9880814b24cdf6c2f91f66f61db65326\",\"lessThan\":\"1f23f1890d91812c35d32eab1b49621b6d32dc7b\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"83c1f36f9880814b24cdf6c2f91f66f61db65326\",\"lessThan\":\"16c244bc65d1175775325ec0489a5a5c830e02c7\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"83c1f36f9880814b24cdf6c2f91f66f61db65326\",\"lessThan\":\"5f442e1d403e0496bacb74a58e2be7f500695e6f\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"83c1f36f9880814b24cdf6c2f91f66f61db65326\",\"lessThan\":\"04b995e963229501401810dab89dc73e7f12d054\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"83c1f36f9880814b24cdf6c2f91f66f61db65326\",\"lessThan\":\"4cde8da2d814a3b7b176db81922d4ddaad7c0f0e\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"83c1f36f9880814b24cdf6c2f91f66f61db65326\",\"lessThan\":\"5daadc86f27ea4d691e2131c04310d0418c6cd12\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"drivers/net/tun.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"4.17\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"4.17\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"4.19.268\",\"lessThanOrEqual\":\"4.19.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.4.226\",\"lessThanOrEqual\":\"5.4.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.10.158\",\"lessThanOrEqual\":\"5.10.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.15.82\",\"lessThanOrEqual\":\"5.15.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.0.12\",\"lessThanOrEqual\":\"6.0.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.1\",\"lessThanOrEqual\":\"*\",\"versionType\":\"original_commit_for_fix\",\"status\":\"unaffected\"}]}]}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"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},{\"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}],\"ssvcV203\":[{\"source\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\",\"ssvcData\":{\"timestamp\":\"2024-10-22T13:13:28.883740Z\",\"id\":\"CVE-2022-49014\",\"options\":[{\"exploitation\":\"none\"},{\"automatable\":\"no\"},{\"technicalImpact\":\"partial\"}],\"role\":\"CISA Coordinator\",\"version\":\"2.0.3\"}}]},\"weaknesses\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-416\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"4.17\",\"versionEndExcluding\":\"4.19.268\",\"matchCriteriaId\":\"F418A145-8A14-43A0-823E-F1C684FB9825\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"4.20\",\"versionEndExcluding\":\"5.4.226\",\"matchCriteriaId\":\"274F5087-5805-4D03-8C74-8517300658F1\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.5\",\"versionEndExcluding\":\"5.10.158\",\"matchCriteriaId\":\"D0FB1AF1-0A0B-4419-B25F-C61F17380E18\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.11\",\"versionEndExcluding\":\"5.15.82\",\"matchCriteriaId\":\"0DC20DB6-73C1-4465-B931-117BFB8EBB02\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.16\",\"versionEndExcluding\":\"6.0.12\",\"matchCriteriaId\":\"D6D56E90-F3EE-413D-B3E2-B518932F0C7D\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.1:rc1:*:*:*:*:*:*\",\"matchCriteriaId\":\"E7E331DA-1FB0-4DEC-91AC-7DA69D461C11\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.1:rc2:*:*:*:*:*:*\",\"matchCriteriaId\":\"17F0B248-42CF-4AE6-A469-BB1BAE7F4705\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.1:rc3:*:*:*:*:*:*\",\"matchCriteriaId\":\"E2422816-0C14-4B5E-A1E6-A9D776E5C49B\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.1:rc4:*:*:*:*:*:*\",\"matchCriteriaId\":\"1C6E00FE-5FB9-4D20-A1A1-5A32128F9B76\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.1:rc5:*:*:*:*:*:*\",\"matchCriteriaId\":\"35B26BE4-43A6-4A36-A7F6-5B3F572D9186\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.1:rc6:*:*:*:*:*:*\",\"matchCriteriaId\":\"3FFFB0B3-930D-408A-91E2-BAE0C2715D80\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.1:rc7:*:*:*:*:*:*\",\"matchCriteriaId\":\"8535320E-A0DB-4277-800E-D0CE5BBA59E8\"}]}]}],\"references\":[{\"url\":\"https://git.kernel.org/stable/c/04b995e963229501401810dab89dc73e7f12d054\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/16c244bc65d1175775325ec0489a5a5c830e02c7\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/1f23f1890d91812c35d32eab1b49621b6d32dc7b\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/4cde8da2d814a3b7b176db81922d4ddaad7c0f0e\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/5daadc86f27ea4d691e2131c04310d0418c6cd12\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/5f442e1d403e0496bacb74a58e2be7f500695e6f\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]}]}}",
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-09-13T18:17:39+00:00",
      "cve": "CVE-2022-49014",
      "id": "CVE-2022-49014",
      "initial_release_date": "2022-01-01T00:00:00+00:00",
      "product_status:fixed": "305",
      "product_status:known_affected": "112",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: net: tun: Fix use-after-free in tun_detach()",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2022/cve-2022-49014.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "important",
      "current_release_date": "2026-09-11T02:31:40Z",
      "cve": "CVE-2022-49014",
      "id": "CVE-2022-49014",
      "initial_release_date": "2024-10-22T14:22:15Z",
      "product_status:known_affected": "324",
      "product_status:known_not_affected": "269",
      "product_status:recommended": "607",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2022-49014",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2022-49014.json",
      "version": "64"
    },
    "vulnrichment": {
      "containers": "{\"adp\": [{\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2022-49014\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"partial\"}], \"version\": \"2.0.3\", \"timestamp\": \"2024-10-22T13:13:28.883740Z\"}}}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2024-10-22T13:13:32.032Z\"}}], \"cna\": {\"title\": \"net: tun: Fix use-after-free in tun_detach()\", \"metrics\": [{\"cvssV3_1\": {\"version\": \"3.1\", \"baseScore\": 7.8, \"baseSeverity\": \"HIGH\", \"vectorString\": \"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H\"}, \"scenarios\": [{\"lang\": \"en\", \"value\": \"AV:L - The bug is reached by opening /dev/net/tun, attaching via TUNSETIFF, then closing the fd (tun_chr_close \\u2192 tun_detach); this is a local char-dev/ioctl path, not remote packet processing.\\nAC:L - An attacker who creates a dedicated netns, attaches a non-persistent TUN, and exits deterministically drops the last struct net ref via sock_put while netdev_run_todo sleeps in netdev_wait_allrefs, so cleanup_net frees the net before notifier_call_chain runs; syzbot hit this repeatedly with no attacker-uncontrollable condition.\\nPR:L - Creating a TUN device requires only ns_capable(net-\u003euser_ns, CAP_NET_ADMIN), which an unprivileged user obtains via user+net namespaces (unshare -Urn); /dev/net/tun is world-accessible and syzbot reproduced via unshare/copy_net_ns.\\nUI:N - The attacker opens the TUN device, configures it, and exits entirely on their own; no victim action is required.\\nS:U - This is a standard in-kernel use-after-free enabling local privilege escalation within the same kernel security authority, with no VM escape or IOMMU/sandbox boundary crossing.\\nC:H - The UAF frees a ~6.7KB struct net slab object that is later read in notifier_call_chain via net-\u003enetdev_chain; reclaiming that object enables arbitrary kernel memory disclosure.\\nI:H - Reclaiming the freed net_namespace object lets an attacker control the notifier chain walked by notifier_call_chain, yielding function-pointer hijack and arbitrary write/code-execution primitives.\\nA:H - Any use-after-free is scored A:H; accessing the freed struct net during netdev unregister notifiers can oops/panic the kernel even without a full exploit.\"}]}], \"affected\": [{\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"83c1f36f9880814b24cdf6c2f91f66f61db65326\", \"lessThan\": \"1f23f1890d91812c35d32eab1b49621b6d32dc7b\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"83c1f36f9880814b24cdf6c2f91f66f61db65326\", \"lessThan\": \"16c244bc65d1175775325ec0489a5a5c830e02c7\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"83c1f36f9880814b24cdf6c2f91f66f61db65326\", \"lessThan\": \"5f442e1d403e0496bacb74a58e2be7f500695e6f\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"83c1f36f9880814b24cdf6c2f91f66f61db65326\", \"lessThan\": \"04b995e963229501401810dab89dc73e7f12d054\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"83c1f36f9880814b24cdf6c2f91f66f61db65326\", \"lessThan\": \"4cde8da2d814a3b7b176db81922d4ddaad7c0f0e\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"83c1f36f9880814b24cdf6c2f91f66f61db65326\", \"lessThan\": \"5daadc86f27ea4d691e2131c04310d0418c6cd12\", \"versionType\": \"git\"}], \"programFiles\": [\"drivers/net/tun.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.17\"}, {\"status\": \"unaffected\", \"version\": \"0\", \"lessThan\": \"4.17\", \"versionType\": \"semver\"}, {\"status\": \"unaffected\", \"version\": \"4.19.268\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"4.19.*\"}, {\"status\": \"unaffected\", \"version\": \"5.4.226\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.4.*\"}, {\"status\": \"unaffected\", \"version\": \"5.10.158\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.10.*\"}, {\"status\": \"unaffected\", \"version\": \"5.15.82\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.15.*\"}, {\"status\": \"unaffected\", \"version\": \"6.0.12\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.0.*\"}, {\"status\": \"unaffected\", \"version\": \"6.1\", \"versionType\": \"original_commit_for_fix\", \"lessThanOrEqual\": \"*\"}], \"programFiles\": [\"drivers/net/tun.c\"], \"defaultStatus\": \"affected\"}], \"references\": [{\"url\": \"https://git.kernel.org/stable/c/1f23f1890d91812c35d32eab1b49621b6d32dc7b\"}, {\"url\": \"https://git.kernel.org/stable/c/16c244bc65d1175775325ec0489a5a5c830e02c7\"}, {\"url\": \"https://git.kernel.org/stable/c/5f442e1d403e0496bacb74a58e2be7f500695e6f\"}, {\"url\": \"https://git.kernel.org/stable/c/04b995e963229501401810dab89dc73e7f12d054\"}, {\"url\": \"https://git.kernel.org/stable/c/4cde8da2d814a3b7b176db81922d4ddaad7c0f0e\"}, {\"url\": \"https://git.kernel.org/stable/c/5daadc86f27ea4d691e2131c04310d0418c6cd12\"}], \"x_generator\": {\"engine\": \"bippy-1.2.0\"}, \"descriptions\": [{\"lang\": \"en\", \"value\": \"In the Linux kernel, the following vulnerability has been resolved:\\n\\nnet: tun: Fix use-after-free in tun_detach()\\n\\nsyzbot reported use-after-free in tun_detach() [1].  This causes call\\ntrace like below:\\n\\n==================================================================\\nBUG: KASAN: use-after-free in notifier_call_chain+0x1ee/0x200 kernel/notifier.c:75\\nRead of size 8 at addr ffff88807324e2a8 by task syz-executor.0/3673\\n\\nCPU: 0 PID: 3673 Comm: syz-executor.0 Not tainted 6.1.0-rc5-syzkaller-00044-gcc675d22e422 #0\\nHardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/26/2022\\nCall Trace:\\n \u003cTASK\u003e\\n __dump_stack lib/dump_stack.c:88 [inline]\\n dump_stack_lvl+0xd1/0x138 lib/dump_stack.c:106\\n print_address_description mm/kasan/report.c:284 [inline]\\n print_report+0x15e/0x461 mm/kasan/report.c:395\\n kasan_report+0xbf/0x1f0 mm/kasan/report.c:495\\n notifier_call_chain+0x1ee/0x200 kernel/notifier.c:75\\n call_netdevice_notifiers_info+0x86/0x130 net/core/dev.c:1942\\n call_netdevice_notifiers_extack net/core/dev.c:1983 [inline]\\n call_netdevice_notifiers net/core/dev.c:1997 [inline]\\n netdev_wait_allrefs_any net/core/dev.c:10237 [inline]\\n netdev_run_todo+0xbc6/0x1100 net/core/dev.c:10351\\n tun_detach drivers/net/tun.c:704 [inline]\\n tun_chr_close+0xe4/0x190 drivers/net/tun.c:3467\\n __fput+0x27c/0xa90 fs/file_table.c:320\\n task_work_run+0x16f/0x270 kernel/task_work.c:179\\n exit_task_work include/linux/task_work.h:38 [inline]\\n do_exit+0xb3d/0x2a30 kernel/exit.c:820\\n do_group_exit+0xd4/0x2a0 kernel/exit.c:950\\n get_signal+0x21b1/0x2440 kernel/signal.c:2858\\n arch_do_signal_or_restart+0x86/0x2300 arch/x86/kernel/signal.c:869\\n exit_to_user_mode_loop kernel/entry/common.c:168 [inline]\\n exit_to_user_mode_prepare+0x15f/0x250 kernel/entry/common.c:203\\n __syscall_exit_to_user_mode_work kernel/entry/common.c:285 [inline]\\n syscall_exit_to_user_mode+0x1d/0x50 kernel/entry/common.c:296\\n do_syscall_64+0x46/0xb0 arch/x86/entry/common.c:86\\n entry_SYSCALL_64_after_hwframe+0x63/0xcd\\n\\nThe cause of the issue is that sock_put() from __tun_detach() drops\\nlast reference count for struct net, and then notifier_call_chain()\\nfrom netdev_state_change() accesses that struct net.\\n\\nThis patch fixes the issue by calling sock_put() from tun_detach()\\nafter all necessary accesses for the struct net has done.\"}], \"cpeApplicability\": [{\"nodes\": [{\"negate\": false, \"cpeMatch\": [{\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"4.19.268\", \"versionStartIncluding\": \"4.17\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.4.226\", \"versionStartIncluding\": \"4.17\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.10.158\", \"versionStartIncluding\": \"4.17\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.15.82\", \"versionStartIncluding\": \"4.17\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.0.12\", \"versionStartIncluding\": \"4.17\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.1\", \"versionStartIncluding\": \"4.17\"}], \"operator\": \"OR\"}]}], \"providerMetadata\": {\"orgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"shortName\": \"Linux\", \"dateUpdated\": \"2026-08-05T08:53:25.973Z\"}}}",
      "cveMetadata": "{\"cveId\": \"CVE-2022-49014\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2026-08-05T08:53:25.973Z\", \"dateReserved\": \"2024-08-22T01:27:53.645Z\", \"assignerOrgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"datePublished\": \"2024-10-21T20:06:24.020Z\", \"assignerShortName\": \"Linux\"}",
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…