{"id":"CVE-2026-95107","kind":"vulnerability","aliases":["CVE-2026-95107"],"related":[],"title":"ThreadX: unchecked size addition lets a module corrupt adjacent memory","description":"A ThreadX module chooses `object_size` when it calls `txm_module_object_allocate`. The Module Manager adds its own 16-byte private header to that size and asked the object pool for the result **without checking the addition**. A size near the top of a `ULONG` wrapped, the pool served a block far smaller than the header, and the manager then wrote the header past the end of it and into the neighbouring byte-pool block.","summary":"The ThreadX Module Manager adds a 16-byte header to a caller-chosen object size without checking for integer overflow. A size near the top of a ULONG wraps around, so the pool hands out a block too small for the header and the header write spills into neighbouring memory.","severity":"high","cvss":7.0,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["embedded","infrastructure","module-manager","rtos","threadx"],"not_affected_if":["module-manager-unused"],"how_to_check":"- Check whether the ThreadX version in use includes the Module Manager (`txm_module_object_allocate` in the build)\n- unknown for the exact affected version range, as the sources do not say","fix":"- Update ThreadX to a release that includes the fix for this issue (version unknown from the sources)\n- Check the vendor advisory for the patched version","status":"open","published_at":"2026-10-20T16:17:18+00:00","first_seen_at":"2026-10-23T21:57:20+00:00","triaged_at":"2026-10-25T03:38:21+00:00","updated_at":"2026-10-25T03:38:21+00:00","category":"infrastructure","confidence":0.5,"triage":{"at":"2026-10-25T03:38:21Z","model":"claude-haiku-5-5","output":{"fix":"- Update ThreadX to a release that includes the fix for this issue (version unknown from the sources)\n- Check the vendor advisory for the patched version","reach":"unknown","title":"ThreadX: unchecked size addition lets a module corrupt adjacent memory","impact":"high","summary":"The ThreadX Module Manager adds a 16-byte header to a caller-chosen object size without checking for integer overflow. A size near the top of a ULONG wraps around, so the pool hands out a block too small for the header and the header write spills into neighbouring memory.","category":"infrastructure","nicknames":[],"who_cares":["threadx","embedded","rtos","module-manager"],"confidence":0.5,"needs_auth":"unknown","worst_case":"memory corruption in neighbouring blocks, possibly code execution","analyst_note":"Find the vendor advisory or NVD entry for affected and patched ThreadX versions, and confirm whether the module must be loaded by untrusted code.","how_to_check":"- Check whether the ThreadX version in use includes the Module Manager (`txm_module_object_allocate` in the build)\n- unknown for the exact affected version range, as the sources do not say","needs_analyst":true,"not_affected_if":["module-manager-unused"],"who_is_affected":"Teams that build ThreadX applications using the Module Manager, where a module can call txm_module_object_allocate with a caller-controlled object_size. Systems that do not use the ThreadX Module Manager are not affected by this specific flaw. The sources do not say which configurations or versions are exposed.","user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"high"},"cost_usd":0.000621,"input_tokens":3343,"output_tokens":573,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-2026':12A,15A '-95107':13A,16A '16':30B,94C 'add':28B,91C 'addit':4A,112C 'adjac':9A 'alloc':87C 'around':54B 'ask':102C 'block':61B,126C,151C 'byte':31B,95C,149C 'byte-pool':148C 'call':83C 'caller':36B 'caller-chosen':35B 'check':41B,110C 'choos':78C 'chosen':37B 'corrupt':8A 'cve':11A,14A 'embed':17B 'end':141C 'far':127C 'hand':58B 'header':32B,66B,69B,97C,131C,138C 'infrastructur':18B 'integ':43B 'let':5A 'manag':21B,27B,90C,134C 'memori':10A,74B 'modul':7A,20B,26B,77C,85C,89C 'module-manag':19B 'near':47B,115C 'neighbour':73B,147C 'object':38B,79C,86C,104C 'overflow':44B 'past':139C 'pool':57B,105C,123C,150C 'privat':96C 'result':108C 'rtos':22B 'serv':124C 'size':3A,39B,46B,80C,100C,114C 'small':63B 'smaller':128C 'spill':71B 'threadx':1A,23B,25B,76C 'top':49B,117C 'txm':84C 'ulong':52B,120C 'uncheck':2A 'without':40B,109C 'wrap':53B,121C 'write':70B 'wrote':136C","nicknames":[],"mitigations":[],"who_affected":"Teams that build ThreadX applications using the Module Manager, where a module can call txm_module_object_allocate with a caller-controlled object_size. Systems that do not use the ThreadX Module Manager are not affected by this specific flaw. The sources do not say which configurations or versions are exposed.","tier":"B","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-20T16:17:18+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:L/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","cvss_by":"emo@eclipse.org","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-95107","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-95107","severity":null,"published_at":"2026-10-20T16:17:18+00:00","modified_at":"2026-10-20T19:48:50+00:00","first_seen_at":"2026-10-23T21:57:20+00:00","fetched_at":"2026-10-23T22:28:58+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}