{"id":"GHSA-f3j8-8ggq-f9x2","kind":"vulnerability","aliases":["GHSA-f3j8-8ggq-f9x2"],"related":[],"title":"Duplicate Advisory: Privilege Escalation in Eclipse hawkBit DDI allows Tenant-Isolated Firmware Exfiltration","description":"### Duplicate Advisory\nThis advisory has been withdrawn because it is a duplicate of GHSA-92r3-p8c2-3fpx. This link is maintained to preserve external references.\n\n### Original Description\nIn Eclipse hawkBit versions 1.0.3 and prior, a privilege escalation vulnerability (CWE-284 / CWE-862) has been identified in the Direct Device Integration (DDI) Controller.\n\n\n\nThis vulnerability allows an authenticated device to escalate its permissions and bypass the strict boundaries of its assigned updates. Under normal operation, a device should be restricted strictly to the specific firmware artifacts explicitly assigned to it. However, this flaw enables any authenticated device to bypass this restriction and download any firmware artifact within the same tenant.\n\n\n\nThis is not an authentication bypass; the requesting device must possess valid credentials for its respective tenant. Instead, the issue stems from a flaw in object-level authorization validation.\n\n\n\nA related, lower-severity helper issue exists in the listing software modules artifacts metadata endpoint. This endpoint does not enforce assignment checks, enabling an authenticated device to list and enumerate available firmware artifacts, which can facilitate targeted exfiltration using the main download authorization bypass.","summary":"This advisory is withdrawn as a duplicate of GHSA-92r3-p8c2-3fpx; the original text says that in hawkBit 1.0.3 and earlier, an authenticated device can bypass object-level checks in the DDI controller and download any firmware artifact in its tenant. A related lower-severity flaw lets such a device list artifact metadata without assignment checks.","severity":"medium","cvss":4.3,"epss":null,"exploited":false,"exploited_at":null,"products":[{"name":"org.eclipse.hawkbit:hawkbit-ddi-resource","fixed":["1.0.4"],"affected":"< 1.0.4","ecosystem":"maven"}],"ecosystems":["maven"],"tags":["cwe-284","ddi","firmware-update","hawkbit","java","maven","package"],"not_affected_if":["fixed-1.0.4-or-later","no-ddi-exposure"],"how_to_check":"- Check the version of `org.eclipse.hawkbit:hawkbit-ddi-resource` in your Maven dependencies, for example with `mvn dependency:tree`\n- Confirm whether any hawkBit instance you run exposes the DDI controller API to devices\n- See GHSA-92r3-p8c2-3fpx for the current advisory text","fix":"- `org.eclipse.hawkbit:hawkbit-ddi-resource` `1.0.4` (affected below `1.0.4`)","status":"withdrawn","published_at":"2026-07-21T18:31:02+00:00","first_seen_at":"2026-11-06T18:11:02+00:00","triaged_at":"2026-11-06T18:11:56+00:00","updated_at":"2026-11-06T18:11:56+00:00","category":"package","confidence":0.6,"triage":{"at":"2026-11-06T18:11:56Z","model":"claude-haiku-5-5","output":{"fix":"- `org.eclipse.hawkbit:hawkbit-ddi-resource` `1.0.4` (affected below `1.0.4`)","reach":"network","title":"Eclipse hawkBit: authenticated devices can download any same-tenant firmware artifact","impact":"medium","summary":"This advisory is withdrawn as a duplicate of GHSA-92r3-p8c2-3fpx; the original text says that in hawkBit 1.0.3 and earlier, an authenticated device can bypass object-level checks in the DDI controller and download any firmware artifact in its tenant. A related lower-severity flaw lets such a device list artifact metadata without assignment checks.","audience":"businesses","category":"package","nicknames":[],"who_cares":["hawkbit","ddi","firmware-update","java","maven"],"confidence":0.6,"fix_status":"available","needs_auth":"yes","worst_case":"authenticated device downloads firmware artifacts from other devices in tenant","analyst_note":"","how_to_check":"- Check the version of `org.eclipse.hawkbit:hawkbit-ddi-resource` in your Maven dependencies, for example with `mvn dependency:tree`\n- Confirm whether any hawkBit instance you run exposes the DDI controller API to devices\n- See GHSA-92r3-p8c2-3fpx for the current advisory text","plain_action":"","needs_analyst":false,"not_affected_if":["fixed-1.0.4-or-later","no-ddi-exposure"],"who_is_affected":"Teams that run Eclipse hawkBit as a software update server for devices and use the DDI controller API, where each device has its own tenant credentials. The flaw lets a device that is authenticated in a tenant download firmware meant for other devices in that tenant. Deployments that do not expose DDI to devices, or that run 1.0.4 or later, are not affected by this flaw.","user_interaction":"no","needs_special_setup":"no","severity_if_unknown":"medium"},"cost_usd":0.000808,"input_tokens":4635,"output_tokens":688,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-284':31B,140C '-862':142C '1.0.3':60B,132C '3fpx':52B,117C '8ggq':18A,23A '92r3':50B,115C 'advisori':2A,41B,101C,103C 'allow':9A,155C 'artifact':80B,95B,185C,205C,253C,273C 'assign':98B,170C,187C,261C 'authent':64B,157C,195C,214C,265C 'author':238C,283C 'avail':271C 'boundari':167C 'bypass':67B,164C,198C,215C,284C 'check':71B,99B,262C 'control':75B,152C 'credenti':222C 'cwe':30B,139C,141C 'ddi':8A,28A,32B,74B,151C 'descript':127C 'devic':65B,93B,149C,158C,176C,196C,218C,266C 'direct':148C 'download':77B,202C,282C 'duplic':1A,46B,100C,111C 'earlier':62B 'eclips':6A,129C 'enabl':193C,263C 'endpoint':255C,257C 'enforc':260C 'enumer':270C 'escal':4A,137C,160C 'exfiltr':14A,278C 'exist':247C 'explicit':186C 'extern':124C 'f3j8':17A,22A 'f9x2':19A,24A 'facilit':276C 'firmwar':13A,34B,79B,184C,204C,272C 'firmware-upd':33B 'flaw':89B,192C,233C 'ghsa':16A,21A,49B,114C 'ghsa-92r3-p8c2-3fpx':48B,113C 'ghsa-f3j8-8ggq-f9x2':15A,20A 'hawkbit':7A,27A,36B,59B,130C 'hawkbit-ddi-resource':26A 'helper':245C 'howev':190C 'identifi':145C 'instead':227C 'integr':150C 'isol':12A 'issu':229C,246C 'java':37B 'let':90B 'level':70B,237C 'link':119C 'list':94B,250C,268C 'lower':87B,243C 'lower-sever':86B,242C 'main':281C 'maintain':121C 'maven':38B 'metadata':96B,254C 'modul':252C 'must':219C 'normal':173C 'object':69B,236C 'object-level':68B,235C 'oper':174C 'org.eclipse.hawkbit':25A 'origin':54B,126C 'p8c2':51B,116C 'packag':39B 'permiss':162C 'possess':220C 'preserv':123C 'prior':134C 'privileg':3A,136C 'refer':125C 'relat':85B,241C 'request':217C 'resource':29A 'respect':225C 'restrict':179C,200C 'say':56B 'sever':88B,244C 'softwar':251C 'specif':183C 'stem':230C 'strict':166C,180C 'target':277C 'tenant':11A,83B,209C,226C 'tenant-isol':10A 'text':55B 'updat':35B,171C 'use':279C 'valid':221C,239C 'version':131C 'vulner':138C,154C 'withdrawn':43B,106C 'within':206C 'without':97B","nicknames":[],"mitigations":[],"who_affected":"Teams that run Eclipse hawkBit as a software update server for devices and use the DDI controller API, where each device has its own tenant credentials. The flaw lets a device that is authenticated in a tenant download firmware meant for other devices in that tenant. Deployments that do not expose DDI to devices, or that run 1.0.4 or later, are not affected by this flaw.","tier":"C","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"businesses","plain_action":null,"pkeys":["orgeclipsehawkbithawkbitddiresource"],"ptokens":["ddi","eclipse","hawkbit","org","resource"],"labels":["cwe284","ddi","firmwareupdate","hawkbit","java","maven","medium","package"],"campaign_type":null,"search_a":"'8ggq':18A,23A 'advisori':2A 'allow':9A 'ddi':8A,28A 'duplic':1A 'eclips':6A 'escal':4A 'exfiltr':14A 'f3j8':17A,22A 'f9x2':19A,24A 'firmwar':13A 'ghsa':16A,21A 'ghsa-f3j8-8ggq-f9x2':15A,20A 'hawkbit':7A,27A 'hawkbit-ddi-resource':26A 'isol':12A 'org.eclipse.hawkbit':25A 'privileg':3A 'resource':29A 'tenant':11A 'tenant-isol':10A","search_b":"'-284':31B '1.0.3':60B '3fpx':52B '92r3':50B 'advisori':41B 'artifact':80B,95B 'assign':98B 'authent':64B 'bypass':67B 'check':71B,99B 'control':75B 'cwe':30B 'ddi':32B,74B 'devic':65B,93B 'download':77B 'duplic':46B 'earlier':62B 'firmwar':34B,79B 'firmware-upd':33B 'flaw':89B 'ghsa':49B 'ghsa-92r3-p8c2-3fpx':48B 'hawkbit':36B,59B 'java':37B 'let':90B 'level':70B 'list':94B 'lower':87B 'lower-sever':86B 'maven':38B 'metadata':96B 'object':69B 'object-level':68B 'origin':54B 'p8c2':51B 'packag':39B 'relat':85B 'say':56B 'sever':88B 'tenant':83B 'text':55B 'updat':35B 'withdrawn':43B 'without':97B","search_c":"'-284':140C '-862':142C '1.0.3':132C '3fpx':117C '92r3':115C 'advisori':101C,103C 'allow':155C 'artifact':185C,205C,253C,273C 'assign':170C,187C,261C 'authent':157C,195C,214C,265C 'author':238C,283C 'avail':271C 'boundari':167C 'bypass':164C,198C,215C,284C 'check':262C 'control':152C 'credenti':222C 'cwe':139C,141C 'ddi':151C 'descript':127C 'devic':149C,158C,176C,196C,218C,266C 'direct':148C 'download':202C,282C 'duplic':100C,111C 'eclips':129C 'enabl':193C,263C 'endpoint':255C,257C 'enforc':260C 'enumer':270C 'escal':137C,160C 'exfiltr':278C 'exist':247C 'explicit':186C 'extern':124C 'facilit':276C 'firmwar':184C,204C,272C 'flaw':192C,233C 'ghsa':114C 'ghsa-92r3-p8c2-3fpx':113C 'hawkbit':130C 'helper':245C 'howev':190C 'identifi':145C 'instead':227C 'integr':150C 'issu':229C,246C 'level':237C 'link':119C 'list':250C,268C 'lower':243C 'lower-sever':242C 'main':281C 'maintain':121C 'metadata':254C 'modul':252C 'must':219C 'normal':173C 'object':236C 'object-level':235C 'oper':174C 'origin':126C 'p8c2':116C 'permiss':162C 'possess':220C 'preserv':123C 'prior':134C 'privileg':136C 'refer':125C 'relat':241C 'request':217C 'respect':225C 'restrict':179C,200C 'sever':244C 'softwar':251C 'specif':183C 'stem':230C 'strict':166C,180C 'target':277C 'tenant':209C,226C 'updat':171C 'use':279C 'valid':221C,239C 'version':131C 'vulner':138C,154C 'withdrawn':106C 'within':206C","first_public_at":"2026-07-21T18:31:02+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N","cvss_by":"GitHub","poc_count":0,"sources":[{"source":"ghsa","external_id":"GHSA-f3j8-8ggq-f9x2","url":"https://github.com/advisories/GHSA-f3j8-8ggq-f9x2","severity":"medium","published_at":"2026-07-21T18:31:02+00:00","modified_at":"2026-11-06T18:06:45+00:00","first_seen_at":"2026-11-06T18:11:02+00:00","fetched_at":"2026-11-06T18:11:02+00:00","note":null}],"documents":[],"exploit_sources":[],"notice":"Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai"}