{"id":"CVE-2026-68427","state":"PUBLISHED","title":"gpu: host1x: Fix use-after-free in host1x_bo_clear_cached_mappings","description":"In the Linux kernel, the following vulnerability has been resolved:\n\ngpu: host1x: Fix use-after-free in host1x_bo_clear_cached_mappings\n\n__host1x_bo_unpin() drops the last reference to the mapping and frees\nit, so we can't dereference mapping afterwards. The cache itself\noutlives the mapping, so use the cache local variable instead.","publishedAt":"2026-08-10T12:04:47.915Z","updatedAt":"2026-10-19T21:09:09.990Z","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":"af755456299d44e4ed6af3b7c70a7f03ea37fdf1","status":"affected","lessThan":"86a9bd8c8f422d5f3079da31e151868902fcc702","versionType":"git"},{"version":"71c017b3f83ff72638f2a1b1d6d4e7bc61d30231","status":"affected","lessThan":"abeff53233b984571b87582bb588b4b38ef4ea50","versionType":"git"},{"version":"0e9dd7cfb9986b78cc81eca126ccfbf57f4c0602","status":"affected","lessThan":"5b7e5f84d3d4cea10c3764d2da274810a7934228","versionType":"git"},{"version":"8c0d3cf0d5108c96317e0eca92b60dd368867cef","status":"affected","lessThan":"5f4de3c717d34a24d555af581947742980778c02","versionType":"git"},{"version":"df63c76f9c8d881ca7bce1aecfba512328d0527d","status":"affected","lessThan":"b773faa32b0a98c3eb2b50d96de631681e5d1157","versionType":"git"},{"version":"3cbf5e3c46e66d9b3b6b91099bb720c6cb1be3bc","status":"affected","lessThan":"266cddf7bd0f6c79b6c0633aef742a22bf70265b","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/gpu/host1x/bus.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"6.1.178","status":"affected","lessThan":"6.1.183","versionType":"semver"},{"version":"6.6.145","status":"affected","lessThan":"6.6.148","versionType":"semver"},{"version":"6.12.97","status":"affected","lessThan":"6.12.101","versionType":"semver"},{"version":"6.18.40","status":"affected","lessThan":"6.18.42","versionType":"semver"},{"version":"7.1.5","status":"affected","lessThan":"7.1.6","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/gpu/host1x/bus.c"]}],"references":["https://git.kernel.org/stable/c/86a9bd8c8f422d5f3079da31e151868902fcc702","https://git.kernel.org/stable/c/abeff53233b984571b87582bb588b4b38ef4ea50","https://git.kernel.org/stable/c/5b7e5f84d3d4cea10c3764d2da274810a7934228","https://git.kernel.org/stable/c/5f4de3c717d34a24d555af581947742980778c02","https://git.kernel.org/stable/c/b773faa32b0a98c3eb2b50d96de631681e5d1157","https://git.kernel.org/stable/c/266cddf7bd0f6c79b6c0633aef742a22bf70265b"],"weaknesses":["CWE-416"],"ingestedAt":"2026-10-29T20:12:49.727Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/68xxx/CVE-2026-68427.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-68427","state":"PUBLISHED","datePublished":"2026-08-10T12:04:47.915Z","dateUpdated":"2026-10-19T21:09:09.990Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-07-30T09:28:09.392Z"},"containers":{"cna":{"title":"gpu: host1x: Fix use-after-free in host1x_bo_clear_cached_mappings","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\ngpu: host1x: Fix use-after-free in host1x_bo_clear_cached_mappings\n\n__host1x_bo_unpin() drops the last reference to the mapping and frees\nit, so we can't dereference mapping afterwards. The cache itself\noutlives the mapping, so use the cache local variable instead."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"af755456299d44e4ed6af3b7c70a7f03ea37fdf1","status":"affected","lessThan":"86a9bd8c8f422d5f3079da31e151868902fcc702","versionType":"git"},{"version":"71c017b3f83ff72638f2a1b1d6d4e7bc61d30231","status":"affected","lessThan":"abeff53233b984571b87582bb588b4b38ef4ea50","versionType":"git"},{"version":"0e9dd7cfb9986b78cc81eca126ccfbf57f4c0602","status":"affected","lessThan":"5b7e5f84d3d4cea10c3764d2da274810a7934228","versionType":"git"},{"version":"8c0d3cf0d5108c96317e0eca92b60dd368867cef","status":"affected","lessThan":"5f4de3c717d34a24d555af581947742980778c02","versionType":"git"},{"version":"df63c76f9c8d881ca7bce1aecfba512328d0527d","status":"affected","lessThan":"b773faa32b0a98c3eb2b50d96de631681e5d1157","versionType":"git"},{"version":"3cbf5e3c46e66d9b3b6b91099bb720c6cb1be3bc","status":"affected","lessThan":"266cddf7bd0f6c79b6c0633aef742a22bf70265b","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/gpu/host1x/bus.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"6.1.178","status":"affected","lessThan":"6.1.183","versionType":"semver"},{"version":"6.6.145","status":"affected","lessThan":"6.6.148","versionType":"semver"},{"version":"6.12.97","status":"affected","lessThan":"6.12.101","versionType":"semver"},{"version":"6.18.40","status":"affected","lessThan":"6.18.42","versionType":"semver"},{"version":"7.1.5","status":"affected","lessThan":"7.1.6","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/gpu/host1x/bus.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/86a9bd8c8f422d5f3079da31e151868902fcc702"},{"url":"https://git.kernel.org/stable/c/abeff53233b984571b87582bb588b4b38ef4ea50"},{"url":"https://git.kernel.org/stable/c/5b7e5f84d3d4cea10c3764d2da274810a7934228"},{"url":"https://git.kernel.org/stable/c/5f4de3c717d34a24d555af581947742980778c02"},{"url":"https://git.kernel.org/stable/c/b773faa32b0a98c3eb2b50d96de631681e5d1157"},{"url":"https://git.kernel.org/stable/c/266cddf7bd0f6c79b6c0633aef742a22bf70265b"}],"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 vulnerable path is reached only through the Tegra DRM/KMS device node (/dev/dri/card0): a local process pins a GEM buffer as a scanout framebuffer via an atomic commit and then destroys the handle, invoking tegra_bo_free_object() -> host1x_bo_clear_cached_mappings(). No network or remote input reaches this code.\nAC:L - The use-after-free is unconditional and deterministic — every cached mapping freed by host1x_bo_clear_cached_mappings() is dereferenced again for the mutex_unlock. No race must be won and no special memory layout is needed; the attacker fully controls buffer creation, scanout pinning, and the destroy that triggers the free.\nPR:L - An unprivileged local user with access to the Tegra DRM device (video/graphics group, the logged-in console/compositor user on Android, automotive and embedded Tegra systems) can create GEM buffers, present them on a plane and free them. No root or CAP_SYS_ADMIN is required.\nUI:N - The attacking process performs the whole sequence itself — GEM allocation, atomic plane commit, and handle destruction — with no action by any other user or victim process.\nS:U - The corruption stays within the kernel's own memory and security authority; there is no crossing into another VM, IOMMU domain, or sandbox boundary.\nC:H - The freed host1x_bo_mapping is read after kfree() to obtain the cache pointer; with slab reuse the attacker can groom the freed object so the read returns attacker-influenced data, and the resulting UAF primitive can be leveraged to disclose kernel memory contents.\nI:H - mutex_unlock() writes to the lock word at the address read from freed memory, so a reallocated/poisoned mapping object yields a write through an attacker-influenceable pointer — a classic UAF write primitive usable for heap corruption and control-flow hijacking.\nA:H - Dereferencing the freed mapping reliably oopses under slab poisoning/KASAN, and unlocking a bogus mutex address corrupts kernel state, causing a panic or hang; the sequence can be repeated at will to keep the system down."}]}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-08-19T16:35:22.452Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.1.178","versionEndExcluding":"6.1.183"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.6.145","versionEndExcluding":"6.6.148"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.12.97","versionEndExcluding":"6.12.101"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.18.40","versionEndExcluding":"6.18.42"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"7.1.5","versionEndExcluding":"7.1.6"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2026-68427","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"total"}],"version":"2.0.3","timestamp":"2026-10-16T15:48:49.447311Z"}}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-416","lang":"en","type":"CWE","description":"CWE-416 Use After Free"}]}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-10-19T21:09:09.990Z"}}]}}}