{"id":"CVE-2026-89559","title":"libnvdimm/labels: Prevent integer overflow in __nd_label_validate()","summary":"In the Linux kernel, the following vulnerability has been resolved:\n\nlibnvdimm/labels: Prevent integer overflow in __nd_label_validate()\n\nThe on-media namespace index field nslot is a u32 read from the DIMM\nlabel storage area.  __nd_labe…","severity":"high","cvss":7.8,"cvssVector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","cvssSource":"cna","cwe":["CWE-787"],"vendor":"Linux","product":"Linux","affected":["Linux >= 564e871aa66f548a947b23808d3140f326381f0c < b4975f2ff6c82adc24ae547f029f82530ba43cfe","Linux >= 564e871aa66f548a947b23808d3140f326381f0c < 6030597ec683d1e5b46445f888bb5c7776b5a0c4","Linux >= 564e871aa66f548a947b23808d3140f326381f0c < 1c391696d2791f82ae462e11da9a0d96f90b240c","Linux >= 564e871aa66f548a947b23808d3140f326381f0c < 93967bfb17dab66642c57e609c99e1a91fe11278","Linux >= 564e871aa66f548a947b23808d3140f326381f0c < e057efcc9c71d90099d9ee00bed0748d0e9fd586","Linux >= 564e871aa66f548a947b23808d3140f326381f0c < 09e649117c54b7e1c004f22eaa19efbadd9ac856","Linux >= 564e871aa66f548a947b23808d3140f326381f0c < 69a734359639fca16a0dd73ab17a34943e76c68b","Linux >= 564e871aa66f548a947b23808d3140f326381f0c < 037770686126155eafc44501312989e2837b9659","Linux 4.13"],"ssvc":{"exploitation":"none","automatable":"no","technicalImpact":"total","timestamp":"2026-10-16T19:24:09.691777Z"},"published":"2026-09-11","updated":"2026-10-19","sourceUpdated":"2026-10-19T08:48:52.683Z","source":"CVEORG","sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-89559","references":[{"url":"https://git.kernel.org/stable/c/b4975f2ff6c82adc24ae547f029f82530ba43cfe"},{"url":"https://git.kernel.org/stable/c/6030597ec683d1e5b46445f888bb5c7776b5a0c4"},{"url":"https://git.kernel.org/stable/c/1c391696d2791f82ae462e11da9a0d96f90b240c"},{"url":"https://git.kernel.org/stable/c/93967bfb17dab66642c57e609c99e1a91fe11278"},{"url":"https://git.kernel.org/stable/c/e057efcc9c71d90099d9ee00bed0748d0e9fd586"},{"url":"https://git.kernel.org/stable/c/09e649117c54b7e1c004f22eaa19efbadd9ac856"},{"url":"https://git.kernel.org/stable/c/69a734359639fca16a0dd73ab17a34943e76c68b"},{"url":"https://git.kernel.org/stable/c/037770686126155eafc44501312989e2837b9659"},{"url":"https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-89559.json"},{"url":"https://access.redhat.com/security/cve/CVE-2026-89559"},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=2532126"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-89559"},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-89559"},{"url":"https://git.kernel.org/pub/scm/linux/security/vulns.git/plain/cve/published/2026/CVE-2026-89559.mbox"}],"tags":["cve.org","csaf","vex","red-hat"],"epss":0.00169,"epssPercentile":0.06197,"scores":{"cna":7.8,"vendor":7},"ingestedAt":"2026-09-14T15:23:07.451Z","slug":"CVE-2026-89559","body":"## Overview\n\nIn the Linux kernel, the following vulnerability has been resolved:\n\nlibnvdimm/labels: Prevent integer overflow in __nd_label_validate()\n\nThe on-media namespace index field nslot is a u32 read from the DIMM\nlabel storage area.  __nd_label_validate() bounds it against the config\narea size, but sizeof_namespace_label() returns unsigned, so the product\nnslot * label_size is evaluated in 32-bit and wraps modulo 2^32 before\nthe comparison.  A crafted nslot passes the bound and is then used as the\nloop trip count in nd_label_data_init(), whose memset() walks off the end\nof the config_size buffer: an out-of-bounds write.\n\nThe field is not trusted -- it comes from the medium, or from userspace\nvia ND_CMD_SET_CONFIG_DATA.  Evaluate the product in 64-bit so the bound\ncheck is exact; conforming labels are unaffected.\n\nThe check was safe when introduced by commit 4a826c83db4e (\"libnvdimm:\nnamespace indices: read and validate\"): it multiplied by sizeof(struct\nnd_namespace_label), a size_t, so on a 64-bit build the product did not\nwrap.  Commit 564e871aa66f (\"libnvdimm, label: add v1.2 nvdimm label\ndefinitions\") narrowed it to 32 bits when the label size became a runtime\nvalue read via sizeof_namespace_label().\n\n## Affected\n\n- `Linux >= 564e871aa66f548a947b23808d3140f326381f0c < b4975f2ff6c82adc24ae547f029f82530ba43cfe`\n- `Linux >= 564e871aa66f548a947b23808d3140f326381f0c < 6030597ec683d1e5b46445f888bb5c7776b5a0c4`\n- `Linux >= 564e871aa66f548a947b23808d3140f326381f0c < 1c391696d2791f82ae462e11da9a0d96f90b240c`\n- `Linux >= 564e871aa66f548a947b23808d3140f326381f0c < 93967bfb17dab66642c57e609c99e1a91fe11278`\n- `Linux >= 564e871aa66f548a947b23808d3140f326381f0c < e057efcc9c71d90099d9ee00bed0748d0e9fd586`\n- `Linux >= 564e871aa66f548a947b23808d3140f326381f0c < 09e649117c54b7e1c004f22eaa19efbadd9ac856`\n- `Linux >= 564e871aa66f548a947b23808d3140f326381f0c < 69a734359639fca16a0dd73ab17a34943e76c68b`\n- `Linux >= 564e871aa66f548a947b23808d3140f326381f0c < 037770686126155eafc44501312989e2837b9659`\n- `Linux 4.13`\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.\n\n## Vendor advisories\n\n- **Red Hat VEX** · Moderate · affected: Red Hat Enterprise Linux 10, Red Hat Enterprise Linux 7, Red Hat Enterprise Linux 8, Red Hat Enterprise Linux 9, Red Hat OpenShift Container Platform 4 · no fix planned: Red Hat OpenShift Container Platform 4, Red Hat Enterprise Linux 10, Red Hat Enterprise Linux 7, Red Hat Enterprise Linux 8, … · updated 2026-09-15 · [vex](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-89559.json)","depth":"twilight","depthScore":43,"depthScoreParts":{"impact":42.9,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[{"seq":223284,"id":"CVE-2026-89559","ts":1792180043110,"field":"cvss","old":"7","new":"7.8"},{"seq":205539,"id":"CVE-2026-89559","ts":1789576724537,"field":"cvss","old":"7.8","new":"7"},{"seq":197922,"id":"CVE-2026-89559","ts":1789384320962,"field":"cvss","old":"6","new":"7.8"},{"seq":197921,"id":"CVE-2026-89559","ts":1789384320962,"field":"severity","old":"medium","new":"high"},{"seq":183473,"id":"CVE-2026-89559","ts":1789356675510,"field":"cvss","old":"7.8","new":"6"},{"seq":183472,"id":"CVE-2026-89559","ts":1789356675510,"field":"severity","old":"high","new":"medium"},{"seq":153370,"id":"CVE-2026-89559","ts":1789285350243,"field":"cvss","old":null,"new":"7.8"},{"seq":153369,"id":"CVE-2026-89559","ts":1789285350243,"field":"severity","old":"none","new":"high"},{"seq":147710,"id":"CVE-2026-89559","ts":1789270211973,"field":"cvss","old":null,"new":"6"},{"seq":147709,"id":"CVE-2026-89559","ts":1789270211973,"field":"severity","old":"none","new":"medium"},{"seq":109464,"id":"CVE-2026-89559","ts":1789183732016,"field":"cvss","old":null,"new":"6"},{"seq":109463,"id":"CVE-2026-89559","ts":1789183732016,"field":"severity","old":"none","new":"medium"}]}