{"id":"CVE-2026-93118","revision":"e709e9d82b294074854a2cd77b9a35b7","records":[{"revision":"e709e9d82b294074854a2cd77b9a35b7","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2026-93118","aliases":[],"title":"usb: gadget: aspeed_udc: check endpoint DMA allocation","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nusb: gadget: aspeed_udc: check endpoint DMA allocation\n\nast_udc_probe() allocates a coherent DMA buffer used as the backing store\nfor endpoint buffers. ast_udc_init_ep() derives per-endpoint buffer\npointers from udc->ep0_buf, so a failed allocation is dereferenced during\nprobe.\n\nCheck the allocation before endpoint setup. The existing probe error path\ncalled ast_udc_remove(), which unregisters the gadget unconditionally and\nis not safe before usb_add_gadget_udc() succeeds. Add a local cleanup\nhelper for probe failures so pre-registration failures only unwind the\nresources that were actually initialized.\n\nThis was found by a local static analysis checker for unchecked allocator\nreturns while scanning Linux 6.16. The change was checked by applying it\nto current mainline and by running checkpatch. I do not have access to\nAspeed UDC hardware, so no runtime testing was performed.","state":0,"publishedAt":"2026-09-17T16:11:25.186+00:00","modifiedAt":"2026-10-19T09:05:51.88+00:00","affected":[{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"unaffected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"drivers/usb/gadget/udc/aspeed_udc.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"055276c1320564b0192b3af323b8cc67f9b665e1\",\n                            \"lessThan\": \"d7ae1a48e70e9c3451b7dc7bc3896c82884bc4df\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"055276c1320564b0192b3af323b8cc67f9b665e1\",\n                            \"lessThan\": \"4aaad88f857498ed1294f061f0b25d27ae891c55\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"055276c1320564b0192b3af323b8cc67f9b665e1\",\n                            \"lessThan\": \"6182e708e2e1f55521c8a01d7535630ecc2d7df9\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"055276c1320564b0192b3af323b8cc67f9b665e1\",\n                            \"lessThan\": \"ff6e88e29965bd06f640e59acdcf0bbf04a7f55c\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"055276c1320564b0192b3af323b8cc67f9b665e1\",\n                            \"lessThan\": \"9e6f57107c1886052d4baaa047a2bc3d0e91be5d\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"055276c1320564b0192b3af323b8cc67f9b665e1\",\n                            \"lessThan\": \"97cee53a94be3bd4fd8fbed6071bd2f32dad1ab1\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        }\n                    ]\n                }"},{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"affected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"drivers/usb/gadget/udc/aspeed_udc.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"6.0\",\n                            \"status\": \"affected\"\n                        },\n                        {\n                            \"version\": \"0\",\n                            \"lessThan\": \"6.0\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.1.188\",\n                            \"lessThanOrEqual\": \"6.1.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.6.157\",\n                            \"lessThanOrEqual\": \"6.6.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.12.110\",\n                            \"lessThanOrEqual\": \"6.12.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.18.52\",\n                            \"lessThanOrEqual\": \"6.18.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.2.6\",\n                            \"lessThanOrEqual\": \"7.2.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.3\",\n                            \"lessThanOrEqual\": \"*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"original_commit_for_fix\"\n                        }\n                    ]\n                }"}],"metrics":[],"references":["https://git.kernel.org/stable/c/d7ae1a48e70e9c3451b7dc7bc3896c82884bc4df","https://git.kernel.org/stable/c/4aaad88f857498ed1294f061f0b25d27ae891c55","https://git.kernel.org/stable/c/6182e708e2e1f55521c8a01d7535630ecc2d7df9","https://git.kernel.org/stable/c/ff6e88e29965bd06f640e59acdcf0bbf04a7f55c","https://git.kernel.org/stable/c/9e6f57107c1886052d4baaa047a2bc3d0e91be5d","https://git.kernel.org/stable/c/97cee53a94be3bd4fd8fbed6071bd2f32dad1ab1"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-93118","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-93118","identifiers":["CVE-2026-93118"]},"retained":false,"historicalAffected":[]}],"coverage":[]}