{"id":"CVE-2026-72018","state":"PUBLISHED","title":"dibs: loopback: validate offset and size in move_data()","description":"In the Linux kernel, the following vulnerability has been resolved:\n\ndibs: loopback: validate offset and size in move_data()\n\nThe loopback move_data() performs a memcpy into the registered DMB\nwithout checking whether offset + size exceeds the DMB length.  Unlike\nreal ISM hardware, which enforces memory region bounds natively, the\nsoftware loopback has no such protection.\n\nA peer-supplied out-of-bounds offset or oversized write would result in\nan OOB write past the allocated kernel buffer.  Add an explicit bounds\ncheck before the memcpy to reject such requests with -EINVAL.","publishedAt":"2026-08-15T05:51:45.360Z","updatedAt":"2026-10-16T18:42:39.883Z","severity":{"score":7.8,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","source":"Linux"},"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"f7a22071dbf316c982fb44308874bd7ad9ac2091","status":"affected","lessThan":"ee188a6b264b71315a67f1b9470faad308b730d2","versionType":"git"},{"version":"f7a22071dbf316c982fb44308874bd7ad9ac2091","status":"affected","lessThan":"b2f426a9a22886071966432ede8fceafffe12b8c","versionType":"git"},{"version":"f7a22071dbf316c982fb44308874bd7ad9ac2091","status":"affected","lessThan":"94fe0ab01b480b52bd8f977edbd845ef375d69fd","versionType":"git"},{"version":"f7a22071dbf316c982fb44308874bd7ad9ac2091","status":"affected","lessThan":"78237e3c0720fcc6eb9b87e90fd70f63eeca886f","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/dibs/dibs_loopback.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.10","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.10","versionType":"semver"},{"version":"6.12.97","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.40","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.1.5","status":"unaffected","lessThanOrEqual":"7.1.*","versionType":"semver"},{"version":"7.2","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/dibs/dibs_loopback.c"]}],"references":["https://git.kernel.org/stable/c/ee188a6b264b71315a67f1b9470faad308b730d2","https://git.kernel.org/stable/c/b2f426a9a22886071966432ede8fceafffe12b8c","https://git.kernel.org/stable/c/94fe0ab01b480b52bd8f977edbd845ef375d69fd","https://git.kernel.org/stable/c/78237e3c0720fcc6eb9b87e90fd70f63eeca886f"],"weaknesses":["CWE-787"],"ingestedAt":"2026-10-29T20:12:58.252Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/72xxx/CVE-2026-72018.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-72018","state":"PUBLISHED","datePublished":"2026-08-15T05:51:45.360Z","dateUpdated":"2026-10-16T18:42:39.883Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-08-09T03:40:39.900Z"},"containers":{"cna":{"title":"dibs: loopback: validate offset and size in move_data()","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\ndibs: loopback: validate offset and size in move_data()\n\nThe loopback move_data() performs a memcpy into the registered DMB\nwithout checking whether offset + size exceeds the DMB length.  Unlike\nreal ISM hardware, which enforces memory region bounds natively, the\nsoftware loopback has no such protection.\n\nA peer-supplied out-of-bounds offset or oversized write would result in\nan OOB write past the allocated kernel buffer.  Add an explicit bounds\ncheck before the memcpy to reject such requests with -EINVAL."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"f7a22071dbf316c982fb44308874bd7ad9ac2091","status":"affected","lessThan":"ee188a6b264b71315a67f1b9470faad308b730d2","versionType":"git"},{"version":"f7a22071dbf316c982fb44308874bd7ad9ac2091","status":"affected","lessThan":"b2f426a9a22886071966432ede8fceafffe12b8c","versionType":"git"},{"version":"f7a22071dbf316c982fb44308874bd7ad9ac2091","status":"affected","lessThan":"94fe0ab01b480b52bd8f977edbd845ef375d69fd","versionType":"git"},{"version":"f7a22071dbf316c982fb44308874bd7ad9ac2091","status":"affected","lessThan":"78237e3c0720fcc6eb9b87e90fd70f63eeca886f","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/dibs/dibs_loopback.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.10","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.10","versionType":"semver"},{"version":"6.12.97","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.40","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.1.5","status":"unaffected","lessThanOrEqual":"7.1.*","versionType":"semver"},{"version":"7.2","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/dibs/dibs_loopback.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/ee188a6b264b71315a67f1b9470faad308b730d2"},{"url":"https://git.kernel.org/stable/c/b2f426a9a22886071966432ede8fceafffe12b8c"},{"url":"https://git.kernel.org/stable/c/94fe0ab01b480b52bd8f977edbd845ef375d69fd"},{"url":"https://git.kernel.org/stable/c/78237e3c0720fcc6eb9b87e90fd70f63eeca886f"}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","baseScore":7.8,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"AV:L - The flaw is only reachable via loopback-ISM (intra-OS DIBS), which requires matching local GID and shared kernel; exploitation is through AF_SMC sendmsg after SMC-D handshake, not remote packet handling on a network-facing stack path.\nAC:L - A malicious SMC-D peer can supply crafted CLC dmbe_idx/dmbe_size values and send patterns that drive move_data() with attacker-controlled offset and size; no race or uncontrollable memory layout is required once loopback-ISM is active.\nPR:L - Exploitation requires only an unprivileged local account able to open AF_SMC sockets and complete an SMC-D loopback handshake (no CAP_NET_ADMIN or root); the SMC CLC path performs no authentication beyond standard socket access controls.\nUI:N - No victim user action is needed when a malicious peer initiates an inbound SMC-D connection to a listening service; the attacker can trigger the OOB write by sending SMC-D data after handshake completion.\nS:U - The OOB write corrupts kernel heap memory within the same kernel security authority; successful exploitation yields local privilege escalation, not cross-VM, container-boundary, or IOMMU bypass scope change.\nC:H - An out-of-bounds kernel heap write past the folio-allocated DMB buffer can corrupt adjacent kernel objects and be leveraged for arbitrary kernel memory disclosure, not merely a bounded leak or pure crash.\nI:H - The unchecked memcpy() allows controlled out-of-bounds writes beyond the registered DMB allocation, enabling heap corruption and potential arbitrary kernel code execution or control-flow hijacking.\nA:H - Writing past the allocated DMB folio can immediately corrupt critical kernel structures and cause kernel oops, panic, or hang; heap corruption from the OOB write itself constitutes high availability impact."}]}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-08-17T05:39:27.125Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.10","versionEndExcluding":"6.12.97"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.10","versionEndExcluding":"6.18.40"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.10","versionEndExcluding":"7.1.5"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.10","versionEndExcluding":"7.2"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-10-16T18:42:10.930913Z","id":"CVE-2026-72018","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"total"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-787","type":"CWE","lang":"en","description":"CWE-787 Out-of-bounds Write"}]}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-10-16T18:42:39.883Z"}}]}}}