{"schemaVersion":3,"id":"CVE-2026-102757","aliases":[],"status":"published","duplicateOf":null,"title":null,"description":"An unprivileged, memory-protected ThreadX module can have the kernel read and write memory at addresses of its choosing, in privileged mode, and can use that to clear the MPU enable bit and remove its own isolation boundary.\n\n\n\nThe Module Manager decided whether a privileged service could dereference an object address a module named by asking only whether that address fell outside the module. The manager's object pool is outside every module, so the test was satisfied by an address shifted into the interior of one of the module's own privileged allocations, which denotes no object at all. The bytes such an address presents as a control block are bytes the module put there through ordinary create and set services, so the control block ID at the front of them could be made to read as any type the module chose, and the `_txe_` layer's ID test then agreed. The reported chain uses that to reach a privileged `memset` across an attacker-chosen range.","dates":{"published":"2026-09-29T17:24:54.699Z","modified":"2026-10-02T12:12:19.823Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":8.5,"severity":"high","version":"4.0","versionLabel":"v4.0","source":"CVE.org","vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","computed":false,"selection":"backend-summary"},"metrics":[{"version":"4.0","versionLabel":"v4.0","source":"CVE.org","score":8.5,"severity":"high","vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","exploitability":null,"impact":null,"computed":false},{"version":"4.0","versionLabel":"v4.0","source":"NVD","score":8.5,"severity":"high","vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.00104,"percentile":0.00967,"severity":"low","asOf":"2026-10-18T00:00:00.000Z","change":{"pp":null,"baselineDate":null,"baselineScore":null},"history":[{"date":"2026-09-30T00:00:00.000Z","score":0.00104,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00104,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00104,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00104,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00104,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00104,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00104,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00104,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00104,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00104,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00104,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00104,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00104,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00104,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00104,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00104,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00104,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00104,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00104,"percentile":0.00967}],"last30":[{"date":"2026-09-30T00:00:00.000Z","score":0.00104,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00104,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00104,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00104,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00104,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00104,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00104,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00104,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00104,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00104,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00104,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00104,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00104,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00104,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00104,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00104,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00104,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00104,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00104,"percentile":0.00967}]},"kev":{"state":"not-listed","entries":[],"listedCount":0,"totalCatalogs":3,"catalogs":[{"source":"cisa","label":"CISA","listed":false,"entry":null},{"source":"enisa","label":"ENISA","listed":false,"entry":null},{"source":"circl","label":"CIRCL","listed":false,"entry":null}]},"ransomware":{"state":"none-recorded","sources":[]},"exploits":[],"exploitCount":0,"weaknesses":[{"id":"CWE-125","name":"Out-of-bounds Read","description":"The product reads data past the end, or before the beginning, of the intended buffer.","type":"weakness","status":"Draft","abstraction":"Base","likelihoodOfExploit":null,"url":"https://cwe.mitre.org/data/definitions/125.html"},{"id":"CWE-787","name":"Out-of-bounds Write","description":"The product writes data past the end, or before the beginning, of the intended buffer.","type":"weakness","status":"Draft","abstraction":"Base","likelihoodOfExploit":"High","url":"https://cwe.mitre.org/data/definitions/787.html"},{"id":"CWE-822","name":"Untrusted Pointer Dereference","description":"The product obtains a value from an untrusted source, converts this value to a pointer, and dereferences the resulting pointer.","type":"weakness","status":"Incomplete","abstraction":"Base","likelihoodOfExploit":null,"url":"https://cwe.mitre.org/data/definitions/822.html"},{"id":"CWE-823","name":"Use of Out-of-range Pointer Offset","description":"The product performs pointer arithmetic on a valid pointer, but it uses an offset that can point outside of the intended range of valid memory locations for the resulting pointer.","type":"weakness","status":"Incomplete","abstraction":"Base","likelihoodOfExploit":null,"url":"https://cwe.mitre.org/data/definitions/823.html"},{"id":"CWE-843","name":"Access of Resource Using Incompatible Type ('Type Confusion')","description":"The product allocates or initializes a resource such as a pointer, object, or variable using one type, but it later accesses that resource using a type that is incompatible with the original type.","type":"weakness","status":"Incomplete","abstraction":"Base","likelihoodOfExploit":null,"url":"https://cwe.mitre.org/data/definitions/843.html"}],"affected":[{"vendor":"eclipse foundation","product":"threadx","name":"ThreadX","label":"threadx","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"≥ 6.0.1, ≤ 6.5.1.202602a","noFixRecorded":false,"fixedIn":null}],"versionsText":"≥ 6.0.1, ≤ 6.5.1.202602a","eol":null,"hubHref":"/vendor/eclipse_foundation/threadx"}],"affectedCount":1,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://github.com/eclipse-threadx/threadx/security/advisories/GHSA-rrjj-jwcw-hvf8","label":"github.com/eclipse-threadx/threadx/security/advisories/GHSA-rrjj-jwcw-hvf8","hostname":"github.com","tags":[]}],"lineage":{"upstream":[],"downstream":[],"duplicates":[],"related":[]},"timeline":[{"kind":"published","date":"2026-09-29T17:24:54.699Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2026-10-02T12:12:19.823Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":34,"level":"medium","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-19T09:53:58.785Z","stale":false,"partial":false}}