{"id":"CVE-2026-110021","kind":"vulnerability","aliases":["CVE-2026-110021"],"related":[],"title":"PLCnext Engineer: GSDX device file signature check can be bypassed locally","description":"PLCnext Engineer checks GSDX manifest reference digests but does not cryptographically verify the XML `SignatureValue` over canonicalized `SignedInfo`. An unauthenticated local attacker can modify signed GSDML content, update its manifest digest, retain the public certificate data, and leave an invalid nonempty `SignatureValue`. PLCnext Engineer prior to 2026.6 reports the package as `Valid` and selects the modified device description for import under the default policy.","summary":"PLCnext Engineer checks the digests of GSDX manifest references but never cryptographically verifies the XML signature value. A local attacker can alter a device description file, update its digest, and have the tool report it as valid and import it.","severity":"medium","cvss":6.9,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["gsdml","industrial-control","plcnext","plcnext-engineer","vendor"],"not_affected_if":["no-local-untrusted-files","not-plcnext-engineer"],"how_to_check":"- Check the installed PLCnext Engineer version (Help or About screen); unknown if the sources give a command.\n- Review whether GSDML device description files are imported from shared or untrusted locations.","fix":"- PLCnext Engineer: `2026.6` or later, per the sources.","status":"open","published_at":"2026-11-04T10:17:24+00:00","first_seen_at":"2026-11-04T10:26:34+00:00","triaged_at":"2026-11-04T10:27:15+00:00","updated_at":"2026-11-04T10:27:15+00:00","category":"vendor","confidence":0.6,"triage":{"at":"2026-11-04T10:27:15Z","model":"claude-haiku-5-5","output":{"fix":"- PLCnext Engineer: `2026.6` or later, per the sources.","reach":"local","title":"PLCnext Engineer: GSDX device file signature check can be bypassed locally","impact":"medium","summary":"PLCnext Engineer checks the digests of GSDX manifest references but never cryptographically verifies the XML signature value. A local attacker can alter a device description file, update its digest, and have the tool report it as valid and import it.","audience":"businesses","category":"vendor","nicknames":[],"who_cares":["plcnext","plcnext-engineer","industrial-control","gsdml"],"confidence":0.6,"fix_status":"available","needs_auth":"no","worst_case":"A tampered device description is imported into an industrial engineering project","analyst_note":"Sources only list NVD; confirm the fixed version and any vendor advisory for PLCnext Engineer 2026.6.","how_to_check":"- Check the installed PLCnext Engineer version (Help or About screen); unknown if the sources give a command.\n- Review whether GSDML device description files are imported from shared or untrusted locations.","plain_action":"","needs_analyst":true,"not_affected_if":["not-plcnext-engineer","no-local-untrusted-files"],"who_is_affected":"Engineering workstations running PLCnext Engineer prior to 2026.6 that import GSDML/GSDX device description files under the default policy. The attack requires local access to the file, so systems that only import vendor-verified device files from controlled sources face less risk. Teams that never use PLCnext Engineer can skip it.","user_interaction":"yes","needs_special_setup":"no","severity_if_unknown":"medium"},"cost_usd":0.000707,"input_tokens":4185,"output_tokens":576,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-110021':14A,17A '-2026':13A,16A '2026.6':112C 'alter':48B 'attack':46B,87C 'bypass':10A 'canonic':82C 'certif':100C 'check':7A,29B,68C 'content':92C 'control':21B 'cryptograph':38B,76C 'cve':12A,15A 'data':101C 'default':128C 'descript':51B,123C 'devic':4A,50B,122C 'digest':31B,55B,72C,96C 'engin':2A,25B,28B,67C,109C 'file':5A,52B 'gsdml':18B,91C 'gsdx':3A,33B,69C 'import':65B,125C 'industri':20B 'industrial-control':19B 'invalid':105C 'leav':103C 'local':11A,45B,86C 'manifest':34B,70C,95C 'modifi':89C,121C 'never':37B 'nonempti':106C 'packag':115C 'plcnext':1A,22B,24B,27B,66C,108C 'plcnext-engin':23B 'polici':129C 'prior':110C 'public':99C 'refer':35B,71C 'report':60B,113C 'retain':97C 'select':119C 'sign':90C 'signatur':6A,42B 'signaturevalu':80C,107C 'signedinfo':83C 'tool':59B 'unauthent':85C 'updat':53B,93C 'valid':63B,117C 'valu':43B 'vendor':26B 'verifi':39B,77C 'xml':41B,79C","nicknames":[],"mitigations":[],"who_affected":"Engineering workstations running PLCnext Engineer prior to 2026.6 that import GSDML/GSDX device description files under the default policy. The attack requires local access to the file, so systems that only import vendor-verified device files from controlled sources face less risk. Teams that never use PLCnext Engineer can skip it.","tier":"C","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"businesses","plain_action":null,"pkeys":[],"ptokens":[],"labels":["gsdml","industrialcontrol","medium","plcnext","plcnextengineer","vendor"],"campaign_type":null,"first_public_at":"2026-11-04T10:17:24+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/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":"info@cert.vde.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-110021","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-110021","severity":null,"published_at":"2026-11-04T10:17:24+00:00","modified_at":"2026-11-04T10:17:24+00:00","first_seen_at":"2026-11-04T10:26:34+00:00","fetched_at":"2026-11-04T10:26:34+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"}