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

CVE-2022-48914 (GCVE-0-2022-48914)

Vulnerability from cvelistv5 – Published: 2024-08-22 01:32 – Updated: 2026-05-11 18:49
VLAI
Title
xen/netfront: destroy queues before real_num_tx_queues is zeroed
Summary
In the Linux kernel, the following vulnerability has been resolved: xen/netfront: destroy queues before real_num_tx_queues is zeroed xennet_destroy_queues() relies on info->netdev->real_num_tx_queues to delete queues. Since d7dac083414eb5bb99a6d2ed53dc2c1b405224e5 ("net-sysfs: update the queue counts in the unregistration path"), unregister_netdev() indirectly sets real_num_tx_queues to 0. Those two facts together means, that xennet_destroy_queues() called from xennet_remove() cannot do its job, because it's called after unregister_netdev(). This results in kfree-ing queues that are still linked in napi, which ultimately crashes: BUG: kernel NULL pointer dereference, address: 0000000000000000 #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page PGD 0 P4D 0 Oops: 0000 [#1] PREEMPT SMP PTI CPU: 1 PID: 52 Comm: xenwatch Tainted: G W 5.16.10-1.32.fc32.qubes.x86_64+ #226 RIP: 0010:free_netdev+0xa3/0x1a0 Code: ff 48 89 df e8 2e e9 00 00 48 8b 43 50 48 8b 08 48 8d b8 a0 fe ff ff 48 8d a9 a0 fe ff ff 49 39 c4 75 26 eb 47 e8 ed c1 66 ff <48> 8b 85 60 01 00 00 48 8d 95 60 01 00 00 48 89 ef 48 2d 60 01 00 RSP: 0000:ffffc90000bcfd00 EFLAGS: 00010286 RAX: 0000000000000000 RBX: ffff88800edad000 RCX: 0000000000000000 RDX: 0000000000000001 RSI: ffffc90000bcfc30 RDI: 00000000ffffffff RBP: fffffffffffffea0 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000001 R12: ffff88800edad050 R13: ffff8880065f8f88 R14: 0000000000000000 R15: ffff8880066c6680 FS: 0000000000000000(0000) GS:ffff8880f3300000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000000000 CR3: 00000000e998c006 CR4: 00000000003706e0 Call Trace: <TASK> xennet_remove+0x13d/0x300 [xen_netfront] xenbus_dev_remove+0x6d/0xf0 __device_release_driver+0x17a/0x240 device_release_driver+0x24/0x30 bus_remove_device+0xd8/0x140 device_del+0x18b/0x410 ? _raw_spin_unlock+0x16/0x30 ? klist_iter_exit+0x14/0x20 ? xenbus_dev_request_and_reply+0x80/0x80 device_unregister+0x13/0x60 xenbus_dev_changed+0x18e/0x1f0 xenwatch_thread+0xc0/0x1a0 ? do_wait_intr_irq+0xa0/0xa0 kthread+0x16b/0x190 ? set_kthread_struct+0x40/0x40 ret_from_fork+0x22/0x30 </TASK> Fix this by calling xennet_destroy_queues() from xennet_uninit(), when real_num_tx_queues is still available. This ensures that queues are destroyed when real_num_tx_queues is set to 0, regardless of how unregister_netdev() was called. Originally reported at https://github.com/QubesOS/qubes-issues/issues/7257
Severity
No CVSS data available.
SSVC
Exploitation: none Automatable: no Technical Impact: partial
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2024-09-10 15:33 UTC
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: 35cad2003b6447932cfe91f795090586306738e8 , < 198cdc287769c717dafff5887c6125cb7a373bf3 (git)
Affected: a5d8e6189b134f5db61be5cd59cf5a74bb01edc7 , < b40c912624775a21da32d1105e158db5f6d0554a (git)
Affected: 443133330a5d4a3fd429179d460cc297724fefe8 , < a1753d5c29a6fb9a8966dcf04cb4f3b71e303ae8 (git)
Affected: 0abd3f9903fae6ecf8db3c89a459971fe7925499 , < a63eb1e4a2e1a191a90217871e67fba42fd39255 (git)
Affected: c5eb468cbc1fa663bf0cc6c5360802dea4e611c2 , < 47e2f166ed9fe17f24561d6315be2228f6a90209 (git)
Affected: d7dac083414eb5bb99a6d2ed53dc2c1b405224e5 , < dcf4ff7a48e7598e6b10126cc02177abb8ae4f3f (git)
guessed Create a notification for this product.
Linux Linux Affected: 4.19.226 , < 4.19.233 (semver)
Affected: 5.4.174 , < 5.4.183 (semver)
Affected: 5.10.94 , < 5.10.104 (semver)
Affected: 5.15.17 , < 5.15.27 (semver)
Affected: 5.16.3 , < 5.16.13 (semver)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "adp": [
      {
        "metrics": [
          {
            "other": {
              "content": {
                "id": "CVE-2022-48914",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2024-09-10T15:33:50.755135Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2024-09-12T17:33:11.621Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/net/xen-netfront.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "198cdc287769c717dafff5887c6125cb7a373bf3",
              "status": "affected",
              "version": "35cad2003b6447932cfe91f795090586306738e8",
              "versionType": "git"
            },
            {
              "lessThan": "b40c912624775a21da32d1105e158db5f6d0554a",
              "status": "affected",
              "version": "a5d8e6189b134f5db61be5cd59cf5a74bb01edc7",
              "versionType": "git"
            },
            {
              "lessThan": "a1753d5c29a6fb9a8966dcf04cb4f3b71e303ae8",
              "status": "affected",
              "version": "443133330a5d4a3fd429179d460cc297724fefe8",
              "versionType": "git"
            },
            {
              "lessThan": "a63eb1e4a2e1a191a90217871e67fba42fd39255",
              "status": "affected",
              "version": "0abd3f9903fae6ecf8db3c89a459971fe7925499",
              "versionType": "git"
            },
            {
              "lessThan": "47e2f166ed9fe17f24561d6315be2228f6a90209",
              "status": "affected",
              "version": "c5eb468cbc1fa663bf0cc6c5360802dea4e611c2",
              "versionType": "git"
            },
            {
              "lessThan": "dcf4ff7a48e7598e6b10126cc02177abb8ae4f3f",
              "status": "affected",
              "version": "d7dac083414eb5bb99a6d2ed53dc2c1b405224e5",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/net/xen-netfront.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "4.19.233",
              "status": "affected",
              "version": "4.19.226",
              "versionType": "semver"
            },
            {
              "lessThan": "5.4.183",
              "status": "affected",
              "version": "5.4.174",
              "versionType": "semver"
            },
            {
              "lessThan": "5.10.104",
              "status": "affected",
              "version": "5.10.94",
              "versionType": "semver"
            },
            {
              "lessThan": "5.15.27",
              "status": "affected",
              "version": "5.15.17",
              "versionType": "semver"
            },
            {
              "lessThan": "5.16.13",
              "status": "affected",
              "version": "5.16.3",
              "versionType": "semver"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "4.19.233",
                  "versionStartIncluding": "4.19.226",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.4.183",
                  "versionStartIncluding": "5.4.174",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.104",
                  "versionStartIncluding": "5.10.94",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.27",
                  "versionStartIncluding": "5.15.17",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.16.13",
                  "versionStartIncluding": "5.16.3",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nxen/netfront: destroy queues before real_num_tx_queues is zeroed\n\nxennet_destroy_queues() relies on info-\u003enetdev-\u003ereal_num_tx_queues to\ndelete queues. Since d7dac083414eb5bb99a6d2ed53dc2c1b405224e5\n(\"net-sysfs: update the queue counts in the unregistration path\"),\nunregister_netdev() indirectly sets real_num_tx_queues to 0. Those two\nfacts together means, that xennet_destroy_queues() called from\nxennet_remove() cannot do its job, because it\u0027s called after\nunregister_netdev(). This results in kfree-ing queues that are still\nlinked in napi, which ultimately crashes:\n\n    BUG: kernel NULL pointer dereference, address: 0000000000000000\n    #PF: supervisor read access in kernel mode\n    #PF: error_code(0x0000) - not-present page\n    PGD 0 P4D 0\n    Oops: 0000 [#1] PREEMPT SMP PTI\n    CPU: 1 PID: 52 Comm: xenwatch Tainted: G        W         5.16.10-1.32.fc32.qubes.x86_64+ #226\n    RIP: 0010:free_netdev+0xa3/0x1a0\n    Code: ff 48 89 df e8 2e e9 00 00 48 8b 43 50 48 8b 08 48 8d b8 a0 fe ff ff 48 8d a9 a0 fe ff ff 49 39 c4 75 26 eb 47 e8 ed c1 66 ff \u003c48\u003e 8b 85 60 01 00 00 48 8d 95 60 01 00 00 48 89 ef 48 2d 60 01 00\n    RSP: 0000:ffffc90000bcfd00 EFLAGS: 00010286\n    RAX: 0000000000000000 RBX: ffff88800edad000 RCX: 0000000000000000\n    RDX: 0000000000000001 RSI: ffffc90000bcfc30 RDI: 00000000ffffffff\n    RBP: fffffffffffffea0 R08: 0000000000000000 R09: 0000000000000000\n    R10: 0000000000000000 R11: 0000000000000001 R12: ffff88800edad050\n    R13: ffff8880065f8f88 R14: 0000000000000000 R15: ffff8880066c6680\n    FS:  0000000000000000(0000) GS:ffff8880f3300000(0000) knlGS:0000000000000000\n    CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033\n    CR2: 0000000000000000 CR3: 00000000e998c006 CR4: 00000000003706e0\n    Call Trace:\n     \u003cTASK\u003e\n     xennet_remove+0x13d/0x300 [xen_netfront]\n     xenbus_dev_remove+0x6d/0xf0\n     __device_release_driver+0x17a/0x240\n     device_release_driver+0x24/0x30\n     bus_remove_device+0xd8/0x140\n     device_del+0x18b/0x410\n     ? _raw_spin_unlock+0x16/0x30\n     ? klist_iter_exit+0x14/0x20\n     ? xenbus_dev_request_and_reply+0x80/0x80\n     device_unregister+0x13/0x60\n     xenbus_dev_changed+0x18e/0x1f0\n     xenwatch_thread+0xc0/0x1a0\n     ? do_wait_intr_irq+0xa0/0xa0\n     kthread+0x16b/0x190\n     ? set_kthread_struct+0x40/0x40\n     ret_from_fork+0x22/0x30\n     \u003c/TASK\u003e\n\nFix this by calling xennet_destroy_queues() from xennet_uninit(),\nwhen real_num_tx_queues is still available. This ensures that queues are\ndestroyed when real_num_tx_queues is set to 0, regardless of how\nunregister_netdev() was called.\n\nOriginally reported at\nhttps://github.com/QubesOS/qubes-issues/issues/7257"
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-05-11T18:49:36.523Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/198cdc287769c717dafff5887c6125cb7a373bf3"
        },
        {
          "url": "https://git.kernel.org/stable/c/b40c912624775a21da32d1105e158db5f6d0554a"
        },
        {
          "url": "https://git.kernel.org/stable/c/a1753d5c29a6fb9a8966dcf04cb4f3b71e303ae8"
        },
        {
          "url": "https://git.kernel.org/stable/c/a63eb1e4a2e1a191a90217871e67fba42fd39255"
        },
        {
          "url": "https://git.kernel.org/stable/c/47e2f166ed9fe17f24561d6315be2228f6a90209"
        },
        {
          "url": "https://git.kernel.org/stable/c/dcf4ff7a48e7598e6b10126cc02177abb8ae4f3f"
        }
      ],
      "title": "xen/netfront: destroy queues before real_num_tx_queues is zeroed",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2022-48914",
    "datePublished": "2024-08-22T01:32:07.803Z",
    "dateReserved": "2024-08-21T06:06:23.294Z",
    "dateUpdated": "2026-05-11T18:49:36.523Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2022-48914",
      "date": "2026-09-16",
      "epss": "0.00215",
      "percentile": "0.12045"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2022-48914\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2024-08-22T02:15:05.683\",\"lastModified\":\"2026-06-17T05:16:36.027\",\"vulnStatus\":\"Analyzed\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nxen/netfront: destroy queues before real_num_tx_queues is zeroed\\n\\nxennet_destroy_queues() relies on info-\u003enetdev-\u003ereal_num_tx_queues to\\ndelete queues. Since d7dac083414eb5bb99a6d2ed53dc2c1b405224e5\\n(\\\"net-sysfs: update the queue counts in the unregistration path\\\"),\\nunregister_netdev() indirectly sets real_num_tx_queues to 0. Those two\\nfacts together means, that xennet_destroy_queues() called from\\nxennet_remove() cannot do its job, because it\u0027s called after\\nunregister_netdev(). This results in kfree-ing queues that are still\\nlinked in napi, which ultimately crashes:\\n\\n    BUG: kernel NULL pointer dereference, address: 0000000000000000\\n    #PF: supervisor read access in kernel mode\\n    #PF: error_code(0x0000) - not-present page\\n    PGD 0 P4D 0\\n    Oops: 0000 [#1] PREEMPT SMP PTI\\n    CPU: 1 PID: 52 Comm: xenwatch Tainted: G        W         5.16.10-1.32.fc32.qubes.x86_64+ #226\\n    RIP: 0010:free_netdev+0xa3/0x1a0\\n    Code: ff 48 89 df e8 2e e9 00 00 48 8b 43 50 48 8b 08 48 8d b8 a0 fe ff ff 48 8d a9 a0 fe ff ff 49 39 c4 75 26 eb 47 e8 ed c1 66 ff \u003c48\u003e 8b 85 60 01 00 00 48 8d 95 60 01 00 00 48 89 ef 48 2d 60 01 00\\n    RSP: 0000:ffffc90000bcfd00 EFLAGS: 00010286\\n    RAX: 0000000000000000 RBX: ffff88800edad000 RCX: 0000000000000000\\n    RDX: 0000000000000001 RSI: ffffc90000bcfc30 RDI: 00000000ffffffff\\n    RBP: fffffffffffffea0 R08: 0000000000000000 R09: 0000000000000000\\n    R10: 0000000000000000 R11: 0000000000000001 R12: ffff88800edad050\\n    R13: ffff8880065f8f88 R14: 0000000000000000 R15: ffff8880066c6680\\n    FS:  0000000000000000(0000) GS:ffff8880f3300000(0000) knlGS:0000000000000000\\n    CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033\\n    CR2: 0000000000000000 CR3: 00000000e998c006 CR4: 00000000003706e0\\n    Call Trace:\\n     \u003cTASK\u003e\\n     xennet_remove+0x13d/0x300 [xen_netfront]\\n     xenbus_dev_remove+0x6d/0xf0\\n     __device_release_driver+0x17a/0x240\\n     device_release_driver+0x24/0x30\\n     bus_remove_device+0xd8/0x140\\n     device_del+0x18b/0x410\\n     ? _raw_spin_unlock+0x16/0x30\\n     ? klist_iter_exit+0x14/0x20\\n     ? xenbus_dev_request_and_reply+0x80/0x80\\n     device_unregister+0x13/0x60\\n     xenbus_dev_changed+0x18e/0x1f0\\n     xenwatch_thread+0xc0/0x1a0\\n     ? do_wait_intr_irq+0xa0/0xa0\\n     kthread+0x16b/0x190\\n     ? set_kthread_struct+0x40/0x40\\n     ret_from_fork+0x22/0x30\\n     \u003c/TASK\u003e\\n\\nFix this by calling xennet_destroy_queues() from xennet_uninit(),\\nwhen real_num_tx_queues is still available. This ensures that queues are\\ndestroyed when real_num_tx_queues is set to 0, regardless of how\\nunregister_netdev() was called.\\n\\nOriginally reported at\\nhttps://github.com/QubesOS/qubes-issues/issues/7257\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: xen/netfront: destruye colas antes de que real_num_tx_queues se ponga a cero xennet_destroy_queues() se basa en info-\u0026gt;netdev-\u0026gt;real_num_tx_queues para eliminar colas. Dado que d7dac083414eb5bb99a6d2ed53dc2c1b405224e5 (\\\"net-sysfs: actualice los recuentos de colas en la ruta de cancelaci\u00f3n de registro\\\"), unregister_netdev() establece indirectamente real_num_tx_queues en 0. Esos dos hechos juntos significan que xennet_destroy_queues() llamado desde xennet_remove() no puede hacer su trabajo, porque s llamado despu\u00e9s de unregister_netdev(). Esto da como resultado colas kfree-ing que todav\u00eda est\u00e1n vinculadas en napi, lo que finalmente falla: ERROR: desreferencia del puntero NULL del kernel, direcci\u00f3n: 0000000000000000 #PF: acceso de lectura del supervisor en modo kernel #PF: c\u00f3digo_error(0x0000) - PGD de p\u00e1gina no presente 0 P4D 0 Ups: 0000 [#1] PREEMPT SMP PTI CPU: 1 PID: 52 Comm: xenwatch Tainted: GW 5.16.10-1.32.fc32.qubes.x86_64+ #226 RIP: 0010:free_netdev+0xa3/0x1a0 C\u00f3digo: ff 48 89 df e8 2e e9 00 00 48 8b 43 50 48 8b 08 48 8d b8 a0 fe ff ff 48 8d a9 a0 fe ff ff 49 39 c4 75 26 eb 47 e8 ed c1 66 ff \u0026lt;48\u0026gt; 8b 85 60 01 00 0 48 8d 95 60 01 00 00 48 89 ef 48 2d 60 01 00 RSP: 0000:ffffc90000bcfd00 EFLAGS: 00010286 RAX: 0000000000000000 RBX: ffff88800edad000 RCX: 0000000000000 RDX: 0000000000000001 RSI: ffffc90000bcfc30 RDI: 00000000ffffffff RBP: fffffffffffffea0 R08: 00000000000000000 R09: 00000000000000000 R10: 0000000000000000 R11: 0000000000000001 R12: ffff88800edad050 R13: ffff8880065f8f88 R14: 00000000000000000 R15: ffff8880066c6680 FS: 00000000000000(0000) GS:ffff8880f3300000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: CR3: 00000000e998c006 CR4: 00000000003706e0 Seguimiento de llamadas:  xennet_remove+0x13d/0x300 [xen_netfront] xenbus_dev_remove+0x6d/0xf0 __device_release_driver+0x17a/0x240 device_release_driver+0x24/ 0x30 bus_remove_device+0xd8/0x140 dispositivo_del+0x18b/0x410? _raw_spin_unlock+0x16/0x30? klist_iter_exit+0x14/0x20? xenbus_dev_request_and_reply+0x80/0x80 dispositivo_unregister+0x13/0x60 xenbus_dev_changed+0x18e/0x1f0 xenwatch_thread+0xc0/0x1a0 ? do_wait_intr_irq+0xa0/0xa0 kthread+0x16b/0x190 ? set_kthread_struct+0x40/0x40 ret_from_fork+0x22/0x30  Solucione este problema llamando a xennet_destroy_queues() desde xennet_uninit(), cuando real_num_tx_queues todav\u00eda est\u00e9 disponible. Esto garantiza que las colas se destruyan cuando real_num_tx_queues se establece en 0, independientemente de c\u00f3mo se llam\u00f3 a unregister_netdev(). Reportado originalmente en https://github.com/QubesOS/qubes-issues/issues/7257\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"drivers/net/xen-netfront.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"35cad2003b6447932cfe91f795090586306738e8\",\"lessThan\":\"198cdc287769c717dafff5887c6125cb7a373bf3\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"a5d8e6189b134f5db61be5cd59cf5a74bb01edc7\",\"lessThan\":\"b40c912624775a21da32d1105e158db5f6d0554a\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"443133330a5d4a3fd429179d460cc297724fefe8\",\"lessThan\":\"a1753d5c29a6fb9a8966dcf04cb4f3b71e303ae8\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"0abd3f9903fae6ecf8db3c89a459971fe7925499\",\"lessThan\":\"a63eb1e4a2e1a191a90217871e67fba42fd39255\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"c5eb468cbc1fa663bf0cc6c5360802dea4e611c2\",\"lessThan\":\"47e2f166ed9fe17f24561d6315be2228f6a90209\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"d7dac083414eb5bb99a6d2ed53dc2c1b405224e5\",\"lessThan\":\"dcf4ff7a48e7598e6b10126cc02177abb8ae4f3f\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"drivers/net/xen-netfront.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"4.19.226\",\"lessThan\":\"4.19.233\",\"versionType\":\"semver\",\"status\":\"affected\"},{\"version\":\"5.4.174\",\"lessThan\":\"5.4.183\",\"versionType\":\"semver\",\"status\":\"affected\"},{\"version\":\"5.10.94\",\"lessThan\":\"5.10.104\",\"versionType\":\"semver\",\"status\":\"affected\"},{\"version\":\"5.15.17\",\"lessThan\":\"5.15.27\",\"versionType\":\"semver\",\"status\":\"affected\"},{\"version\":\"5.16.3\",\"lessThan\":\"5.16.13\",\"versionType\":\"semver\",\"status\":\"affected\"}]}]}],\"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:N/I:N/A:H\",\"baseScore\":5.5,\"baseSeverity\":\"MEDIUM\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"NONE\",\"integrityImpact\":\"NONE\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":3.6}],\"ssvcV203\":[{\"source\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\",\"ssvcData\":{\"timestamp\":\"2024-09-10T15:33:50.755135Z\",\"id\":\"CVE-2022-48914\",\"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-476\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"4.19.226\",\"versionEndExcluding\":\"4.19.233\",\"matchCriteriaId\":\"844F8286-579D-45F3-91F9-B0963A45C46A\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.4.174\",\"versionEndExcluding\":\"5.4.183\",\"matchCriteriaId\":\"50DC6A9D-EDB7-4237-9253-6A36CB2A79E7\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.10.94\",\"versionEndExcluding\":\"5.10.104\",\"matchCriteriaId\":\"07144469-6081-4ABC-AD38-F23A8D9B3E86\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.15.17\",\"versionEndExcluding\":\"5.15.27\",\"matchCriteriaId\":\"A3C6A607-7094-4C3C-B703-C6B5A1F87670\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.16.3\",\"versionEndExcluding\":\"5.16.13\",\"matchCriteriaId\":\"CA1CE57C-E9AE-4BFC-8E39-AECD1A63C9A0\"}]}]}],\"references\":[{\"url\":\"https://git.kernel.org/stable/c/198cdc287769c717dafff5887c6125cb7a373bf3\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/47e2f166ed9fe17f24561d6315be2228f6a90209\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/a1753d5c29a6fb9a8966dcf04cb4f3b71e303ae8\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/a63eb1e4a2e1a191a90217871e67fba42fd39255\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/b40c912624775a21da32d1105e158db5f6d0554a\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/dcf4ff7a48e7598e6b10126cc02177abb8ae4f3f\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]}]}}",
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2025-11-21T14:33:13+00:00",
      "cve": "CVE-2022-48914",
      "id": "CVE-2022-48914",
      "initial_release_date": "2022-01-01T00:00:00+00:00",
      "product_status:known_affected": "198",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: xen/netfront: destroy queues before real_num_tx_queues is zeroed",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2022/cve-2022-48914.json",
      "version": "3"
    },
    "vulnrichment": {
      "containers": "{\"adp\": [{\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2022-48914\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"partial\"}], \"version\": \"2.0.3\", \"timestamp\": \"2024-09-10T15:33:50.755135Z\"}}}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2024-09-11T12:42:15.841Z\"}}], \"cna\": {\"title\": \"xen/netfront: destroy queues before real_num_tx_queues is zeroed\", \"affected\": [{\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"35cad2003b6447932cfe91f795090586306738e8\", \"lessThan\": \"198cdc287769c717dafff5887c6125cb7a373bf3\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"a5d8e6189b134f5db61be5cd59cf5a74bb01edc7\", \"lessThan\": \"b40c912624775a21da32d1105e158db5f6d0554a\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"443133330a5d4a3fd429179d460cc297724fefe8\", \"lessThan\": \"a1753d5c29a6fb9a8966dcf04cb4f3b71e303ae8\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"0abd3f9903fae6ecf8db3c89a459971fe7925499\", \"lessThan\": \"a63eb1e4a2e1a191a90217871e67fba42fd39255\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"c5eb468cbc1fa663bf0cc6c5360802dea4e611c2\", \"lessThan\": \"47e2f166ed9fe17f24561d6315be2228f6a90209\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"d7dac083414eb5bb99a6d2ed53dc2c1b405224e5\", \"lessThan\": \"dcf4ff7a48e7598e6b10126cc02177abb8ae4f3f\", \"versionType\": \"git\"}], \"programFiles\": [\"drivers/net/xen-netfront.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.19.226\", \"lessThan\": \"4.19.233\", \"versionType\": \"semver\"}, {\"status\": \"affected\", \"version\": \"5.4.174\", \"lessThan\": \"5.4.183\", \"versionType\": \"semver\"}, {\"status\": \"affected\", \"version\": \"5.10.94\", \"lessThan\": \"5.10.104\", \"versionType\": \"semver\"}, {\"status\": \"affected\", \"version\": \"5.15.17\", \"lessThan\": \"5.15.27\", \"versionType\": \"semver\"}, {\"status\": \"affected\", \"version\": \"5.16.3\", \"lessThan\": \"5.16.13\", \"versionType\": \"semver\"}], \"programFiles\": [\"drivers/net/xen-netfront.c\"], \"defaultStatus\": \"unaffected\"}], \"references\": [{\"url\": \"https://git.kernel.org/stable/c/198cdc287769c717dafff5887c6125cb7a373bf3\"}, {\"url\": \"https://git.kernel.org/stable/c/b40c912624775a21da32d1105e158db5f6d0554a\"}, {\"url\": \"https://git.kernel.org/stable/c/a1753d5c29a6fb9a8966dcf04cb4f3b71e303ae8\"}, {\"url\": \"https://git.kernel.org/stable/c/a63eb1e4a2e1a191a90217871e67fba42fd39255\"}, {\"url\": \"https://git.kernel.org/stable/c/47e2f166ed9fe17f24561d6315be2228f6a90209\"}, {\"url\": \"https://git.kernel.org/stable/c/dcf4ff7a48e7598e6b10126cc02177abb8ae4f3f\"}], \"x_generator\": {\"engine\": \"bippy-1.2.0\"}, \"descriptions\": [{\"lang\": \"en\", \"value\": \"In the Linux kernel, the following vulnerability has been resolved:\\n\\nxen/netfront: destroy queues before real_num_tx_queues is zeroed\\n\\nxennet_destroy_queues() relies on info-\u003enetdev-\u003ereal_num_tx_queues to\\ndelete queues. Since d7dac083414eb5bb99a6d2ed53dc2c1b405224e5\\n(\\\"net-sysfs: update the queue counts in the unregistration path\\\"),\\nunregister_netdev() indirectly sets real_num_tx_queues to 0. Those two\\nfacts together means, that xennet_destroy_queues() called from\\nxennet_remove() cannot do its job, because it\u0027s called after\\nunregister_netdev(). This results in kfree-ing queues that are still\\nlinked in napi, which ultimately crashes:\\n\\n    BUG: kernel NULL pointer dereference, address: 0000000000000000\\n    #PF: supervisor read access in kernel mode\\n    #PF: error_code(0x0000) - not-present page\\n    PGD 0 P4D 0\\n    Oops: 0000 [#1] PREEMPT SMP PTI\\n    CPU: 1 PID: 52 Comm: xenwatch Tainted: G        W         5.16.10-1.32.fc32.qubes.x86_64+ #226\\n    RIP: 0010:free_netdev+0xa3/0x1a0\\n    Code: ff 48 89 df e8 2e e9 00 00 48 8b 43 50 48 8b 08 48 8d b8 a0 fe ff ff 48 8d a9 a0 fe ff ff 49 39 c4 75 26 eb 47 e8 ed c1 66 ff \u003c48\u003e 8b 85 60 01 00 00 48 8d 95 60 01 00 00 48 89 ef 48 2d 60 01 00\\n    RSP: 0000:ffffc90000bcfd00 EFLAGS: 00010286\\n    RAX: 0000000000000000 RBX: ffff88800edad000 RCX: 0000000000000000\\n    RDX: 0000000000000001 RSI: ffffc90000bcfc30 RDI: 00000000ffffffff\\n    RBP: fffffffffffffea0 R08: 0000000000000000 R09: 0000000000000000\\n    R10: 0000000000000000 R11: 0000000000000001 R12: ffff88800edad050\\n    R13: ffff8880065f8f88 R14: 0000000000000000 R15: ffff8880066c6680\\n    FS:  0000000000000000(0000) GS:ffff8880f3300000(0000) knlGS:0000000000000000\\n    CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033\\n    CR2: 0000000000000000 CR3: 00000000e998c006 CR4: 00000000003706e0\\n    Call Trace:\\n     \u003cTASK\u003e\\n     xennet_remove+0x13d/0x300 [xen_netfront]\\n     xenbus_dev_remove+0x6d/0xf0\\n     __device_release_driver+0x17a/0x240\\n     device_release_driver+0x24/0x30\\n     bus_remove_device+0xd8/0x140\\n     device_del+0x18b/0x410\\n     ? _raw_spin_unlock+0x16/0x30\\n     ? klist_iter_exit+0x14/0x20\\n     ? xenbus_dev_request_and_reply+0x80/0x80\\n     device_unregister+0x13/0x60\\n     xenbus_dev_changed+0x18e/0x1f0\\n     xenwatch_thread+0xc0/0x1a0\\n     ? do_wait_intr_irq+0xa0/0xa0\\n     kthread+0x16b/0x190\\n     ? set_kthread_struct+0x40/0x40\\n     ret_from_fork+0x22/0x30\\n     \u003c/TASK\u003e\\n\\nFix this by calling xennet_destroy_queues() from xennet_uninit(),\\nwhen real_num_tx_queues is still available. This ensures that queues are\\ndestroyed when real_num_tx_queues is set to 0, regardless of how\\nunregister_netdev() was called.\\n\\nOriginally reported at\\nhttps://github.com/QubesOS/qubes-issues/issues/7257\"}], \"cpeApplicability\": [{\"nodes\": [{\"negate\": false, \"cpeMatch\": [{\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"4.19.233\", \"versionStartIncluding\": \"4.19.226\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.4.183\", \"versionStartIncluding\": \"5.4.174\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.10.104\", \"versionStartIncluding\": \"5.10.94\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.15.27\", \"versionStartIncluding\": \"5.15.17\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.16.13\", \"versionStartIncluding\": \"5.16.3\"}], \"operator\": \"OR\"}]}], \"providerMetadata\": {\"orgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"shortName\": \"Linux\", \"dateUpdated\": \"2025-05-04T08:26:00.352Z\"}}}",
      "cveMetadata": "{\"cveId\": \"CVE-2022-48914\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2025-05-04T08:26:00.352Z\", \"dateReserved\": \"2024-08-21T06:06:23.294Z\", \"assignerOrgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"datePublished\": \"2024-08-22T01:32:07.803Z\", \"assignerShortName\": \"Linux\"}",
      "dataType": "CVE_RECORD",
      "dataVersion": "5.1"
    }
  }
}



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…