CVE-2026-23447 (GCVE-0-2026-23447)
Vulnerability from cvelistv5
Published
2026-04-03 15:15
Modified
2026-04-13 06:07
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved: net: usb: cdc_ncm: add ndpoffset to NDP32 nframes bounds check The same bounds-check bug fixed for NDP16 in the previous patch also exists in cdc_ncm_rx_verify_ndp32(). The DPE array size is validated against the total skb length without accounting for ndpoffset, allowing out-of-bounds reads when the NDP32 is placed near the end of the NTB. Add ndpoffset to the nframes bounds check and use struct_size_t() to express the NDP-plus-DPE-array size more clearly. Compile-tested only.
Impacted products
Vendor Product Version
Linux Linux Version: 0fa81b304a7973a499f844176ca031109487dd31
Version: 0fa81b304a7973a499f844176ca031109487dd31
Version: 0fa81b304a7973a499f844176ca031109487dd31
Version: 0fa81b304a7973a499f844176ca031109487dd31
Version: 0fa81b304a7973a499f844176ca031109487dd31
Version: 8cf7db86a8984ffa3a3388a8df12bc0aa4c79bd7
Version: 4ca8b8855264cf1439cdab3da7049bd1e3c2a9e6
Version: a270ca35a9499b58366d696d3290eaa4697a42db
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/net/usb/cdc_ncm.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "125f932a76a97904ef8a555f1dd53e5d0e288c54",
              "status": "affected",
              "version": "0fa81b304a7973a499f844176ca031109487dd31",
              "versionType": "git"
            },
            {
              "lessThan": "af0d1613d6751489dbf9f69aac1123f0b1e566e5",
              "status": "affected",
              "version": "0fa81b304a7973a499f844176ca031109487dd31",
              "versionType": "git"
            },
            {
              "lessThan": "a5bd5a2710310c965ea4153cba4210988a3454e2",
              "status": "affected",
              "version": "0fa81b304a7973a499f844176ca031109487dd31",
              "versionType": "git"
            },
            {
              "lessThan": "de70da1fb1d152e981ecb3157f7ec2b633005c16",
              "status": "affected",
              "version": "0fa81b304a7973a499f844176ca031109487dd31",
              "versionType": "git"
            },
            {
              "lessThan": "77914255155e68a20aa41175edeecf8121dac391",
              "status": "affected",
              "version": "0fa81b304a7973a499f844176ca031109487dd31",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "8cf7db86a8984ffa3a3388a8df12bc0aa4c79bd7",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "4ca8b8855264cf1439cdab3da7049bd1e3c2a9e6",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "a270ca35a9499b58366d696d3290eaa4697a42db",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/net/usb/cdc_ncm.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.7"
            },
            {
              "lessThan": "5.7",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.130",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.78",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.20",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.19.*",
              "status": "unaffected",
              "version": "6.19.10",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.0",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.130",
                  "versionStartIncluding": "5.7",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.78",
                  "versionStartIncluding": "5.7",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.20",
                  "versionStartIncluding": "5.7",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.19.10",
                  "versionStartIncluding": "5.7",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.0",
                  "versionStartIncluding": "5.7",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "4.14.317",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "4.19.285",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "5.4.245",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnet: usb: cdc_ncm: add ndpoffset to NDP32 nframes bounds check\n\nThe same bounds-check bug fixed for NDP16 in the previous patch also\nexists in cdc_ncm_rx_verify_ndp32(). The DPE array size is validated\nagainst the total skb length without accounting for ndpoffset, allowing\nout-of-bounds reads when the NDP32 is placed near the end of the NTB.\n\nAdd ndpoffset to the nframes bounds check and use struct_size_t() to\nexpress the NDP-plus-DPE-array size more clearly.\n\nCompile-tested only."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-04-13T06:07:38.424Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/125f932a76a97904ef8a555f1dd53e5d0e288c54"
        },
        {
          "url": "https://git.kernel.org/stable/c/af0d1613d6751489dbf9f69aac1123f0b1e566e5"
        },
        {
          "url": "https://git.kernel.org/stable/c/a5bd5a2710310c965ea4153cba4210988a3454e2"
        },
        {
          "url": "https://git.kernel.org/stable/c/de70da1fb1d152e981ecb3157f7ec2b633005c16"
        },
        {
          "url": "https://git.kernel.org/stable/c/77914255155e68a20aa41175edeecf8121dac391"
        }
      ],
      "title": "net: usb: cdc_ncm: add ndpoffset to NDP32 nframes bounds check",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-23447",
    "datePublished": "2026-04-03T15:15:30.495Z",
    "dateReserved": "2026-01-13T15:37:46.019Z",
    "dateUpdated": "2026-04-13T06:07:38.424Z",
    "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…