CVE-2026-63987 (GCVE-0-2026-63987)

Vulnerability from cvelistv5 – Published: 2026-07-19 14:56 – Updated: 2026-08-05 12:37
VLAI
Title
ethtool: coalesce: cap profile updates at NET_DIM_PARAMS_NUM_PROFILES
Summary
In the Linux kernel, the following vulnerability has been resolved: ethtool: coalesce: cap profile updates at NET_DIM_PARAMS_NUM_PROFILES ethnl_update_profile() walks the ETHTOOL_A_PROFILE_IRQ_MODERATION nest list with an index 'i' and writes new_profile[i++] without bounding i. The destination is kmemdup()'d at NET_DIM_PARAMS_NUM_PROFILES entries (5), but the Netlink nest count is entirely user-controlled. Netlink policies do not have support for constraining the number of nested entries (or number of multi-attr entries).
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: f750dfe825b904164688adeb147950e0e0c4d262 , < d4c9cc7c47781c6f4fa29d80a1193a8bcd1525bc (git)
Affected: f750dfe825b904164688adeb147950e0e0c4d262 , < 0c02c190bcd9822477038ff2cee10ea584ac1b1d (git)
Affected: f750dfe825b904164688adeb147950e0e0c4d262 , < 6205f7166d2dd14a017a5802c81e5bd1421a8635 (git)
Affected: f750dfe825b904164688adeb147950e0e0c4d262 , < 7281b096b072f6c6e30420e3467d738f2e4c4b57 (git)
guessed Create a notification for this product.
Linux Linux Affected: 6.11
Unaffected: 0 , < 6.11 (semver)
Unaffected: 6.12.93 , ≤ 6.12.* (semver)
Unaffected: 6.18.35 , ≤ 6.18.* (semver)
Unaffected: 7.0.12 , ≤ 7.0.* (semver)
Unaffected: 7.1 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "net/ethtool/coalesce.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "d4c9cc7c47781c6f4fa29d80a1193a8bcd1525bc",
              "status": "affected",
              "version": "f750dfe825b904164688adeb147950e0e0c4d262",
              "versionType": "git"
            },
            {
              "lessThan": "0c02c190bcd9822477038ff2cee10ea584ac1b1d",
              "status": "affected",
              "version": "f750dfe825b904164688adeb147950e0e0c4d262",
              "versionType": "git"
            },
            {
              "lessThan": "6205f7166d2dd14a017a5802c81e5bd1421a8635",
              "status": "affected",
              "version": "f750dfe825b904164688adeb147950e0e0c4d262",
              "versionType": "git"
            },
            {
              "lessThan": "7281b096b072f6c6e30420e3467d738f2e4c4b57",
              "status": "affected",
              "version": "f750dfe825b904164688adeb147950e0e0c4d262",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "net/ethtool/coalesce.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.11"
            },
            {
              "lessThan": "6.11",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.93",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.35",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.0.*",
              "status": "unaffected",
              "version": "7.0.12",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.1",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.93",
                  "versionStartIncluding": "6.11",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.35",
                  "versionStartIncluding": "6.11",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.0.12",
                  "versionStartIncluding": "6.11",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1",
                  "versionStartIncluding": "6.11",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nethtool: coalesce: cap profile updates at NET_DIM_PARAMS_NUM_PROFILES\n\nethnl_update_profile() walks the ETHTOOL_A_PROFILE_IRQ_MODERATION\nnest list with an index \u0027i\u0027 and writes new_profile[i++] without\nbounding i. The destination is kmemdup()\u0027d at NET_DIM_PARAMS_NUM_PROFILES\nentries (5), but the Netlink nest count is entirely user-controlled.\nNetlink policies do not have support for constraining the number\nof nested entries (or number of multi-attr entries)."
        }
      ],
      "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 only through the ETHTOOL_MSG_COALESCE_SET generic-netlink ioctl path (ethnl_default_set_doit \u2192 ethnl_set_coalesce \u2192 ethnl_update_profile), not via remote network packets or physical bus access.\nAC:L - An attacker with CAP_NET_ADMIN can send a crafted netlink message with more than five nested ETHTOOL_A_PROFILE_IRQ_MODERATION attributes and deterministically trigger a heap buffer overflow past the five-entry kmemdup buffer.\nPR:L - ETHTOOL_MSG_COALESCE_SET is gated by GENL_UNS_ADMIN_PERM, which requires CAP_NET_ADMIN in the socket\u0027s network namespace user namespace; this capability is obtainable by an unprivileged user via user namespaces (unshare -Urn) or containers granted NET_ADMIN (e.g., hostNetwork pods).\nUI:N - Exploitation requires only the attacker\u0027s own ethtool netlink SET_COALESCE request with a malformed profile nest; no action by another user or victim is needed.\nS:U - The vulnerability corrupts kernel heap memory within the same kernel security domain; it does not by itself cross a VM, container, or IOMMU boundary to affect a separate security authority.\nC:H - The out-of-bounds writes past the 120-byte (5 \u00d7 24-byte dim_cq_moder) kmalloc allocation can corrupt adjacent slab objects, providing a standard heap-corruption primitive that can be leveraged for arbitrary kernel memory disclosure.\nI:H - The attacker fully controls the overflowed u16 profile fields (usec, pkts, comps) written beyond the allocation boundary, enabling heap metadata or adjacent-object corruption that can be developed into arbitrary kernel write or code execution.\nA:H - Heap corruption from unbounded profile indexing can cause immediate kernel oops/panic during the write or when the corrupted profile is subsequently used by DIM/virtio-net interrupt moderation paths."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T12:37:54.593Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/d4c9cc7c47781c6f4fa29d80a1193a8bcd1525bc"
        },
        {
          "url": "https://git.kernel.org/stable/c/0c02c190bcd9822477038ff2cee10ea584ac1b1d"
        },
        {
          "url": "https://git.kernel.org/stable/c/6205f7166d2dd14a017a5802c81e5bd1421a8635"
        },
        {
          "url": "https://git.kernel.org/stable/c/7281b096b072f6c6e30420e3467d738f2e4c4b57"
        }
      ],
      "title": "ethtool: coalesce: cap profile updates at NET_DIM_PARAMS_NUM_PROFILES",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-63987",
    "datePublished": "2026-07-19T14:56:08.940Z",
    "dateReserved": "2026-07-19T07:54:57.025Z",
    "dateUpdated": "2026-08-05T12:37:54.593Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-63987",
      "date": "2026-09-21",
      "epss": "0.00129",
      "percentile": "0.0286"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "product": "Linux",
                "programFiles": [
                  "net/ethtool/coalesce.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "lessThan": "d4c9cc7c47781c6f4fa29d80a1193a8bcd1525bc",
                    "status": "affected",
                    "version": "f750dfe825b904164688adeb147950e0e0c4d262",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "0c02c190bcd9822477038ff2cee10ea584ac1b1d",
                    "status": "affected",
                    "version": "f750dfe825b904164688adeb147950e0e0c4d262",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "6205f7166d2dd14a017a5802c81e5bd1421a8635",
                    "status": "affected",
                    "version": "f750dfe825b904164688adeb147950e0e0c4d262",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "7281b096b072f6c6e30420e3467d738f2e4c4b57",
                    "status": "affected",
                    "version": "f750dfe825b904164688adeb147950e0e0c4d262",
                    "versionType": "git"
                  }
                ]
              },
              {
                "defaultStatus": "affected",
                "product": "Linux",
                "programFiles": [
                  "net/ethtool/coalesce.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "status": "affected",
                    "version": "6.11"
                  },
                  {
                    "lessThan": "6.11",
                    "status": "unaffected",
                    "version": "0",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.12.*",
                    "status": "unaffected",
                    "version": "6.12.93",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.18.*",
                    "status": "unaffected",
                    "version": "6.18.35",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "7.0.*",
                    "status": "unaffected",
                    "version": "7.0.12",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "*",
                    "status": "unaffected",
                    "version": "7.1",
                    "versionType": "original_commit_for_fix"
                  }
                ]
              }
            ],
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
          }
        ],
        "cveTags": [],
        "descriptions": [
          {
            "lang": "en",
            "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nethtool: coalesce: cap profile updates at NET_DIM_PARAMS_NUM_PROFILES\n\nethnl_update_profile() walks the ETHTOOL_A_PROFILE_IRQ_MODERATION\nnest list with an index \u0027i\u0027 and writes new_profile[i++] without\nbounding i. The destination is kmemdup()\u0027d at NET_DIM_PARAMS_NUM_PROFILES\nentries (5), but the Netlink nest count is entirely user-controlled.\nNetlink policies do not have support for constraining the number\nof nested entries (or number of multi-attr entries)."
          }
        ],
        "id": "CVE-2026-63987",
        "lastModified": "2026-07-30T14:51:11.223",
        "metrics": {
          "cvssMetricV31": [
            {
              "cvssData": {
                "attackComplexity": "LOW",
                "attackVector": "LOCAL",
                "availabilityImpact": "HIGH",
                "baseScore": 7.8,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "HIGH",
                "privilegesRequired": "LOW",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
                "version": "3.1"
              },
              "exploitabilityScore": 1.8,
              "impactScore": 5.9,
              "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
              "type": "Secondary"
            }
          ]
        },
        "published": "2026-07-19T16:17:17.953",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/0c02c190bcd9822477038ff2cee10ea584ac1b1d"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/6205f7166d2dd14a017a5802c81e5bd1421a8635"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/7281b096b072f6c6e30420e3467d738f2e4c4b57"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/d4c9cc7c47781c6f4fa29d80a1193a8bcd1525bc"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Awaiting Analysis"
      }
    },
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-08-05T14:21:12+00:00",
      "cve": "CVE-2026-63987",
      "id": "CVE-2026-63987",
      "initial_release_date": "2026-07-19T00:00:00+00:00",
      "product_status:known_affected": "184",
      "product_status:known_not_affected": "90",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: ethtool: coalesce: cap profile updates at NET_DIM_PARAMS_NUM_PROFILES",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-63987.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "important",
      "current_release_date": "2026-09-15T01:57:47Z",
      "cve": "CVE-2026-63987",
      "id": "CVE-2026-63987",
      "initial_release_date": "2026-07-21T13:02:07Z",
      "product_status:known_affected": "123",
      "product_status:known_not_affected": "251",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2026-63987",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2026-63987.json",
      "version": "6"
    }
  }
}



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…