{ "dataType": "CVE_RECORD", "dataVersion": "5.2", "cveMetadata": { "cveId": "CVE-2026-23447", "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "state": "PUBLISHED", "assignerShortName": "Linux", "dateReserved": "2026-01-13T15:37:46.019Z", "datePublished": "2026-04-03T15:15:30.495Z", "dateUpdated": "2026-09-14T11:58:13.940Z" }, "containers": { "cna": { "providerMetadata": { "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "shortName": "Linux", "dateUpdated": "2026-09-14T11:58:13.940Z" }, "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." } ], "affected": [ { "product": "Linux", "vendor": "Linux", "defaultStatus": "unaffected", "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "programFiles": [ "drivers/net/usb/cdc_ncm.c" ], "versions": [ { "version": "0fa81b304a7973a499f844176ca031109487dd31", "lessThan": "baf246d6680befde2086b1df9eb3aaba3fb6853f", "status": "affected", "versionType": "git" }, { "version": "0fa81b304a7973a499f844176ca031109487dd31", "lessThan": "125f932a76a97904ef8a555f1dd53e5d0e288c54", "status": "affected", "versionType": "git" }, { "version": "0fa81b304a7973a499f844176ca031109487dd31", "lessThan": "af0d1613d6751489dbf9f69aac1123f0b1e566e5", "status": "affected", "versionType": "git" }, { "version": "0fa81b304a7973a499f844176ca031109487dd31", "lessThan": "a5bd5a2710310c965ea4153cba4210988a3454e2", "status": "affected", "versionType": "git" }, { "version": "0fa81b304a7973a499f844176ca031109487dd31", "lessThan": "de70da1fb1d152e981ecb3157f7ec2b633005c16", "status": "affected", "versionType": "git" }, { "version": "0fa81b304a7973a499f844176ca031109487dd31", "lessThan": "77914255155e68a20aa41175edeecf8121dac391", "status": "affected", "versionType": "git" }, { "version": "8cf7db86a8984ffa3a3388a8df12bc0aa4c79bd7", "status": "affected", "versionType": "git" }, { "version": "4ca8b8855264cf1439cdab3da7049bd1e3c2a9e6", "status": "affected", "versionType": "git" }, { "version": "a270ca35a9499b58366d696d3290eaa4697a42db", "status": "affected", "versionType": "git" }, { "version": "4.14.317", "lessThan": "4.15", "status": "affected", "versionType": "semver" }, { "version": "4.19.285", "lessThan": "4.20", "status": "affected", "versionType": "semver" }, { "version": "5.4.245", "lessThan": "5.5", "status": "affected", "versionType": "semver" } ] }, { "product": "Linux", "vendor": "Linux", "defaultStatus": "affected", "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "programFiles": [ "drivers/net/usb/cdc_ncm.c" ], "versions": [ { "version": "5.7", "status": "affected" }, { "version": "0", "lessThan": "5.7", "status": "unaffected", "versionType": "semver" }, { "version": "6.1.188", "lessThanOrEqual": "6.1.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.6.130", "lessThanOrEqual": "6.6.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.12.78", "lessThanOrEqual": "6.12.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.18.20", "lessThanOrEqual": "6.18.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.19.10", "lessThanOrEqual": "6.19.*", "status": "unaffected", "versionType": "semver" }, { "version": "7.0", "lessThanOrEqual": "*", "status": "unaffected", "versionType": "original_commit_for_fix" } ] } ], "cpeApplicability": [ { "nodes": [ { "operator": "OR", "negate": false, "cpeMatch": [ { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "5.7", "versionEndExcluding": "6.1.188" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "5.7", "versionEndExcluding": "6.6.130" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "5.7", "versionEndExcluding": "6.12.78" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "5.7", "versionEndExcluding": "6.18.20" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "5.7", "versionEndExcluding": "6.19.10" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "5.7", "versionEndExcluding": "7.0" }, { "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" } ] } ] } ], "references": [ { "url": "https://git.kernel.org/stable/c/baf246d6680befde2086b1df9eb3aaba3fb6853f" }, { "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" } } } }