{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-94023","assignerOrgId":"e51fbebd-6053-4e49-959f-1b94eeb69a2c","state":"PUBLISHED","assignerShortName":"eclipse","dateReserved":"2026-09-23T13:43:04.333Z","datePublished":"2026-10-20T15:18:09.957Z","dateUpdated":"2026-10-20T17:03:48.170Z"},"containers":{"cna":{"providerMetadata":{"orgId":"e51fbebd-6053-4e49-959f-1b94eeb69a2c","shortName":"eclipse","dateUpdated":"2026-10-20T15:18:09.957Z"},"title":"Module delete dispatchers do not enforce kernel-object ownership before irreversible deletion","problemTypes":[{"descriptions":[{"lang":"en","cweId":"CWE-125","description":"CWE-125 Out-of-bounds Read","type":"CWE"}]},{"descriptions":[{"lang":"en","cweId":"CWE-862","description":"CWE-862 Missing Authorization","type":"CWE"}]}],"affected":[{"vendor":"Eclipse Foundation","product":"Eclipse ThreadX","packageName":"ThreadX","versions":[{"status":"affected","version":"6.0.1","lessThanOrEqual":"6.5.1.202602a","versionType":"semver"},{"status":"unaffected","version":"6.5.2.202603"}],"defaultStatus":"unaffected"}],"descriptions":[{"lang":"en","value":"A ThreadX module reaches a kernel object's delete service through the Module Manager's dispatch layer, which asked one question about the pointer: does the object lie outside the module's own code and data. That is the policy for *using* an object, and using an object a module does not own is supported and intended — `txm_module_object_pointer_get_extended` searches the system's created objects by name and hands back objects the application created and objects other modules created, so that a module can send to a shared queue, take a shared semaphore or get a shared mutex.\n\n\n\nDestroying one of those is not sharing it. A module could name any object it had a pointer to and have the privileged dispatcher delete it.","supportingMedia":[{"type":"text/html","base64":false,"value":"<p>A ThreadX module reaches a kernel object's delete service through the Module Manager's dispatch layer, which asked one question about the pointer: does the object lie outside the module's own code and data. That is the policy for *using* an object, and using an object a module does not own is supported and intended — `txm_module_object_pointer_get_extended` searches the system's created objects by name and hands back objects the application created and objects other modules created, so that a module can send to a shared queue, take a shared semaphore or get a shared mutex.</p><p>Destroying one of those is not sharing it. A module could name any object it had a pointer to and have the privileged dispatcher delete it.</p>"}]}],"references":[{"url":"https://github.com/eclipse-threadx/threadx/security/advisories/GHSA-36vf-7cx6-9f9j"}],"metrics":[{"format":"CVSS","scenarios":[{"lang":"en","value":"GENERAL"}],"cvssV4_0":{"attackVector":"LOCAL","attackComplexity":"LOW","attackRequirements":"NONE","privilegesRequired":"LOW","userInteraction":"NONE","vulnConfidentialityImpact":"NONE","subConfidentialityImpact":"NONE","vulnIntegrityImpact":"HIGH","subIntegrityImpact":"NONE","vulnAvailabilityImpact":"HIGH","subAvailabilityImpact":"NONE","exploitMaturity":"NOT_DEFINED","Safety":"NOT_DEFINED","Automatable":"NOT_DEFINED","Recovery":"NOT_DEFINED","valueDensity":"NOT_DEFINED","vulnerabilityResponseEffort":"NOT_DEFINED","providerUrgency":"NOT_DEFINED","version":"4.0","baseSeverity":"MEDIUM","baseScore":6.9,"vectorString":"CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:H/SC:N/SI:N/SA:N"}}],"credits":[{"lang":"en","value":"fdesbiens","type":"finder"}],"source":{"discovery":"UNKNOWN"},"x_generator":{"engine":"Vulnogram 1.0.5"}},"adp":[{"metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-10-20T17:03:38.985757Z","id":"CVE-2026-94023","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"title":"CISA ADP Vulnrichment","providerMetadata":{"orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP","dateUpdated":"2026-10-20T17:03:48.170Z"}}]}}