CVE-2026-31727 (GCVE-0-2026-31727)
Vulnerability from cvelistv5
Published
2026-05-01 14:14
Modified
2026-06-19 11:58
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved: usb: gadget: u_ether: Fix NULL pointer deref in eth_get_drvinfo Commit ec35c1969650 ("usb: gadget: f_ncm: Fix net_device lifecycle with device_move") reparents the gadget device to /sys/devices/virtual during unbind, clearing the gadget pointer. If the userspace tool queries on the surviving interface during this detached window, this leads to a NULL pointer dereference. Unable to handle kernel NULL pointer dereference Call trace: eth_get_drvinfo+0x50/0x90 ethtool_get_drvinfo+0x5c/0x1f0 __dev_ethtool+0xaec/0x1fe0 dev_ethtool+0x134/0x2e0 dev_ioctl+0x338/0x560 Add a NULL check for dev->gadget in eth_get_drvinfo(). When detached, skip copying the fw_version and bus_info strings, which is natively handled by ethtool_get_drvinfo for empty strings.
Impacted products
Vendor Product Version
Linux Linux Version: 7c97366f5dac5255e60a317ffe3a5b18f3745547
Version: 36c41e9724c9a7a7cda37f5a4e9d94f25c8031c4
Version: 93f116c3393a22acab96ad1bef12b2572eb80ca4
Version: e584cb58a2ea7ff4d3a4bc43d5ca512ed3ecb77d
Version: 85acaba2f42b557499bab3608307f17bf13beb69
Version: ec35c1969650e7cb6c8a91020e568ed46e3551b0
Create a notification for this product.
   Linux Linux Version: 6.12.78   
Version: 6.18.19   
Version: 6.19.9   
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/usb/gadget/function/u_ether.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "f9f987472f4b8ab177be2b6492a59278ed969479",
              "status": "affected",
              "version": "7c97366f5dac5255e60a317ffe3a5b18f3745547",
              "versionType": "git"
            },
            {
              "lessThan": "7fce959e9be3bf63bb0fdf4b05f9cc42cb289fe2",
              "status": "affected",
              "version": "36c41e9724c9a7a7cda37f5a4e9d94f25c8031c4",
              "versionType": "git"
            },
            {
              "lessThan": "0326429e8ba99892e1d1e115dc8e88e1a3b64e24",
              "status": "affected",
              "version": "93f116c3393a22acab96ad1bef12b2572eb80ca4",
              "versionType": "git"
            },
            {
              "lessThan": "a36e5e800b9c93e3e1ffa42f34d38b36775dbcee",
              "status": "affected",
              "version": "e584cb58a2ea7ff4d3a4bc43d5ca512ed3ecb77d",
              "versionType": "git"
            },
            {
              "lessThan": "7de4d46be40738c7e48e64b5cc0a34aa1e047b0a",
              "status": "affected",
              "version": "85acaba2f42b557499bab3608307f17bf13beb69",
              "versionType": "git"
            },
            {
              "lessThan": "e002e92e88e12457373ed096b18716d97e7bbb20",
              "status": "affected",
              "version": "ec35c1969650e7cb6c8a91020e568ed46e3551b0",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/usb/gadget/function/u_ether.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "6.12.81",
              "status": "affected",
              "version": "6.12.78",
              "versionType": "semver"
            },
            {
              "lessThan": "6.18.22",
              "status": "affected",
              "version": "6.18.19",
              "versionType": "semver"
            },
            {
              "lessThan": "6.19.12",
              "status": "affected",
              "version": "6.19.9",
              "versionType": "semver"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.81",
                  "versionStartIncluding": "6.12.78",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.22",
                  "versionStartIncluding": "6.18.19",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.19.12",
                  "versionStartIncluding": "6.19.9",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nusb: gadget: u_ether: Fix NULL pointer deref in eth_get_drvinfo\n\nCommit ec35c1969650 (\"usb: gadget: f_ncm: Fix net_device lifecycle with\ndevice_move\") reparents the gadget device to /sys/devices/virtual during\nunbind, clearing the gadget pointer. If the userspace tool queries on\nthe surviving interface during this detached window, this leads to a\nNULL pointer dereference.\n\nUnable to handle kernel NULL pointer dereference\nCall trace:\n eth_get_drvinfo+0x50/0x90\n ethtool_get_drvinfo+0x5c/0x1f0\n __dev_ethtool+0xaec/0x1fe0\n dev_ethtool+0x134/0x2e0\n dev_ioctl+0x338/0x560\n\nAdd a NULL check for dev-\u003egadget in eth_get_drvinfo(). When detached,\nskip copying the fw_version and bus_info strings, which is natively\nhandled by ethtool_get_drvinfo for empty strings."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-06-19T11:58:05.053Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/f9f987472f4b8ab177be2b6492a59278ed969479"
        },
        {
          "url": "https://git.kernel.org/stable/c/7fce959e9be3bf63bb0fdf4b05f9cc42cb289fe2"
        },
        {
          "url": "https://git.kernel.org/stable/c/0326429e8ba99892e1d1e115dc8e88e1a3b64e24"
        },
        {
          "url": "https://git.kernel.org/stable/c/a36e5e800b9c93e3e1ffa42f34d38b36775dbcee"
        },
        {
          "url": "https://git.kernel.org/stable/c/7de4d46be40738c7e48e64b5cc0a34aa1e047b0a"
        },
        {
          "url": "https://git.kernel.org/stable/c/e002e92e88e12457373ed096b18716d97e7bbb20"
        }
      ],
      "title": "usb: gadget: u_ether: Fix NULL pointer deref in eth_get_drvinfo",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-31727",
    "datePublished": "2026-05-01T14:14:27.552Z",
    "dateReserved": "2026-03-09T15:48:24.134Z",
    "dateUpdated": "2026-06-19T11:58:05.053Z",
    "state": "PUBLISHED"
  },
  "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…