CVE-2024-26734 (GCVE-0-2024-26734)
Vulnerability from cvelistv5
Published
2024-04-03 17:00
Modified
2026-08-05 11:26
Summary
In the Linux kernel, the following vulnerability has been resolved: devlink: fix possible use-after-free and memory leaks in devlink_init() The pernet operations structure for the subsystem must be registered before registering the generic netlink family. Make an unregister in case of unsuccessful registration.
Impacted products
Vendor Product Version
Linux Linux Version: 687125b5799cd5120437fa455cfccbe8537916ff
Version: 687125b5799cd5120437fa455cfccbe8537916ff
Version: 687125b5799cd5120437fa455cfccbe8537916ff
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "adp": [
      {
        "providerMetadata": {
          "dateUpdated": "2024-08-02T00:14:13.249Z",
          "orgId": "af854a3a-2127-422b-91ae-364da2661108",
          "shortName": "CVE"
        },
        "references": [
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/919092bd5482b7070ae66d1daef73b600738f3a2"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/e91d3561e28d7665f4f837880501dc8755f635a9"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/def689fc26b9a9622d2e2cb0c4933dd3b1c8071c"
          }
        ],
        "title": "CVE Program Container"
      },
      {
        "metrics": [
          {
            "other": {
              "content": {
                "id": "CVE-2024-26734",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2024-09-10T15:51:57.238703Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2024-09-11T17:33:19.585Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "net/devlink/core.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "919092bd5482b7070ae66d1daef73b600738f3a2",
              "status": "affected",
              "version": "687125b5799cd5120437fa455cfccbe8537916ff",
              "versionType": "git"
            },
            {
              "lessThan": "e91d3561e28d7665f4f837880501dc8755f635a9",
              "status": "affected",
              "version": "687125b5799cd5120437fa455cfccbe8537916ff",
              "versionType": "git"
            },
            {
              "lessThan": "def689fc26b9a9622d2e2cb0c4933dd3b1c8071c",
              "status": "affected",
              "version": "687125b5799cd5120437fa455cfccbe8537916ff",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "net/devlink/core.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.3"
            },
            {
              "lessThan": "6.3",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.19",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.7.*",
              "status": "unaffected",
              "version": "6.7.7",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.8",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.19",
                  "versionStartIncluding": "6.3",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.7.7",
                  "versionStartIncluding": "6.3",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.8",
                  "versionStartIncluding": "6.3",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ndevlink: fix possible use-after-free and memory leaks in devlink_init()\n\nThe pernet operations structure for the subsystem must be registered\nbefore registering the generic netlink family.\n\nMake an unregister in case of unsuccessful registration."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - The resulting dangling `struct net` pointer is only reached through the devlink generic-netlink family from a local AF_NETLINK socket (`devlinks_xa_find_get()` \u2192 `devlink_net()`), with no remote protocol involvement. Netlink-reachable kernel state is scored Local.\nAC:H - The vulnerable state only exists if a registration inside the boot-time `subsys_initcall` `devlink_init()` fails, which depends on early-boot allocation conditions entirely outside attacker influence \u2014 and in practice `register_pernet_subsys()` on `.pre_exit`-only ops and `register_netdevice_notifier()` on an always-`NOTIFY_OK` handler cannot fail at all.\nPR:L - Once the pernet `pre_exit` hook is missing, the stale `devlink-\u003e_net` is dereferenced from `DEVLINK_CMD_*_GET`/dump handlers that carry no `GENL_ADMIN_PERM`, so any unprivileged local user with a netlink socket can touch the freed pointer.\nUI:N - Triggering the devlink netlink query that dereferences the dangling namespace pointer requires no action by any other user or administrator.\nS:U - The corruption and its consequences stay within the kernel\u0027s own security authority; no VM, IOMMU, or sandbox boundary is crossed.\nC:H - A use-after-free on a freed `struct net` lets an attacker reclaim the slab with controlled data and read back kernel memory through devlink\u0027s namespace-filtered dump paths.\nI:H - The same use-after-free permits heap spraying of the freed `struct net`, yielding attacker-influenced writes through the reference-counting and reload paths that operate on it, which is exploitable toward control-flow hijack.\nA:H - Dereferencing a freed network namespace reliably produces an oops or panic, and the unbalanced registrations additionally leak kernel memory."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T11:26:53.941Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/919092bd5482b7070ae66d1daef73b600738f3a2"
        },
        {
          "url": "https://git.kernel.org/stable/c/e91d3561e28d7665f4f837880501dc8755f635a9"
        },
        {
          "url": "https://git.kernel.org/stable/c/def689fc26b9a9622d2e2cb0c4933dd3b1c8071c"
        }
      ],
      "title": "devlink: fix possible use-after-free and memory leaks in devlink_init()",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2024-26734",
    "datePublished": "2024-04-03T17:00:21.162Z",
    "dateReserved": "2024-02-19T14:20:24.165Z",
    "dateUpdated": "2026-08-05T11:26:53.941Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "vulnrichment": {
      "containers": "{\"adp\": [{\"title\": \"CVE Program Container\", \"references\": [{\"url\": \"https://git.kernel.org/stable/c/919092bd5482b7070ae66d1daef73b600738f3a2\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/e91d3561e28d7665f4f837880501dc8755f635a9\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/def689fc26b9a9622d2e2cb0c4933dd3b1c8071c\", \"tags\": [\"x_transferred\"]}], \"providerMetadata\": {\"orgId\": \"af854a3a-2127-422b-91ae-364da2661108\", \"shortName\": \"CVE\", \"dateUpdated\": \"2024-08-02T00:14:13.249Z\"}}, {\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2024-26734\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"partial\"}], \"version\": \"2.0.3\", \"timestamp\": \"2024-09-10T15:51:57.238703Z\"}}}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2024-09-11T12:42:16.163Z\"}}], \"cna\": {\"title\": \"devlink: fix possible use-after-free and memory leaks in devlink_init()\", \"metrics\": [{\"cvssV3_1\": {\"version\": \"3.1\", \"baseScore\": 7, \"baseSeverity\": \"HIGH\", \"vectorString\": \"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H\"}, \"scenarios\": [{\"lang\": \"en\", \"value\": \"AV:L - The resulting dangling `struct net` pointer is only reached through the devlink generic-netlink family from a local AF_NETLINK socket (`devlinks_xa_find_get()` \\u2192 `devlink_net()`), with no remote protocol involvement. Netlink-reachable kernel state is scored Local.\\nAC:H - The vulnerable state only exists if a registration inside the boot-time `subsys_initcall` `devlink_init()` fails, which depends on early-boot allocation conditions entirely outside attacker influence \\u2014 and in practice `register_pernet_subsys()` on `.pre_exit`-only ops and `register_netdevice_notifier()` on an always-`NOTIFY_OK` handler cannot fail at all.\\nPR:L - Once the pernet `pre_exit` hook is missing, the stale `devlink-\u003e_net` is dereferenced from `DEVLINK_CMD_*_GET`/dump handlers that carry no `GENL_ADMIN_PERM`, so any unprivileged local user with a netlink socket can touch the freed pointer.\\nUI:N - Triggering the devlink netlink query that dereferences the dangling namespace pointer requires no action by any other user or administrator.\\nS:U - The corruption and its consequences stay within the kernel\u0027s own security authority; no VM, IOMMU, or sandbox boundary is crossed.\\nC:H - A use-after-free on a freed `struct net` lets an attacker reclaim the slab with controlled data and read back kernel memory through devlink\u0027s namespace-filtered dump paths.\\nI:H - The same use-after-free permits heap spraying of the freed `struct net`, yielding attacker-influenced writes through the reference-counting and reload paths that operate on it, which is exploitable toward control-flow hijack.\\nA:H - Dereferencing a freed network namespace reliably produces an oops or panic, and the unbalanced registrations additionally leak kernel memory.\"}]}], \"affected\": [{\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"687125b5799cd5120437fa455cfccbe8537916ff\", \"lessThan\": \"919092bd5482b7070ae66d1daef73b600738f3a2\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"687125b5799cd5120437fa455cfccbe8537916ff\", \"lessThan\": \"e91d3561e28d7665f4f837880501dc8755f635a9\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"687125b5799cd5120437fa455cfccbe8537916ff\", \"lessThan\": \"def689fc26b9a9622d2e2cb0c4933dd3b1c8071c\", \"versionType\": \"git\"}], \"programFiles\": [\"net/devlink/core.c\"], \"defaultStatus\": \"unaffected\"}, {\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"6.3\"}, {\"status\": \"unaffected\", \"version\": \"0\", \"lessThan\": \"6.3\", \"versionType\": \"semver\"}, {\"status\": \"unaffected\", \"version\": \"6.6.19\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.6.*\"}, {\"status\": \"unaffected\", \"version\": \"6.7.7\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.7.*\"}, {\"status\": \"unaffected\", \"version\": \"6.8\", \"versionType\": \"original_commit_for_fix\", \"lessThanOrEqual\": \"*\"}], \"programFiles\": [\"net/devlink/core.c\"], \"defaultStatus\": \"affected\"}], \"references\": [{\"url\": \"https://git.kernel.org/stable/c/919092bd5482b7070ae66d1daef73b600738f3a2\"}, {\"url\": \"https://git.kernel.org/stable/c/e91d3561e28d7665f4f837880501dc8755f635a9\"}, {\"url\": \"https://git.kernel.org/stable/c/def689fc26b9a9622d2e2cb0c4933dd3b1c8071c\"}], \"x_generator\": {\"engine\": \"bippy-1.2.0\"}, \"descriptions\": [{\"lang\": \"en\", \"value\": \"In the Linux kernel, the following vulnerability has been resolved:\\n\\ndevlink: fix possible use-after-free and memory leaks in devlink_init()\\n\\nThe pernet operations structure for the subsystem must be registered\\nbefore registering the generic netlink family.\\n\\nMake an unregister in case of unsuccessful registration.\"}], \"cpeApplicability\": [{\"nodes\": [{\"negate\": false, \"cpeMatch\": [{\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.6.19\", \"versionStartIncluding\": \"6.3\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.7.7\", \"versionStartIncluding\": \"6.3\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.8\", \"versionStartIncluding\": \"6.3\"}], \"operator\": \"OR\"}]}], \"providerMetadata\": {\"orgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"shortName\": \"Linux\", \"dateUpdated\": \"2026-08-05T11:26:53.941Z\"}}}",
      "cveMetadata": "{\"cveId\": \"CVE-2024-26734\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2026-08-05T11:26:53.941Z\", \"dateReserved\": \"2024-02-19T14:20:24.165Z\", \"assignerOrgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"datePublished\": \"2024-04-03T17:00:21.162Z\", \"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…

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.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • 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.


Loading…

Loading…