{"id":"CVE-2026-111735","kind":"vulnerability","aliases":["CVE-2026-111735"],"related":[],"title":"P-Net: short PROFINET frame triggers out-of-bounds read in industrial controllers","description":"P-Net before 1.0.3 contains an integer underflow in pf_cpm_c_data_ind(). When handling a received cyclic data frame while the consumer is in the FRUN or RUN state, the offset of the APDU status was computed as the frame length minus 4 using 16-bit arithmetic, without checking that the frame is long enough. A crafted short frame makes the offset wrap around, so the function reads outside the receive buffer. This can cause a crash (denial of service) or disclose memory content.","summary":"P-Net is an embedded PROFINET device stack before 1.0.3. A crafted short cyclic data frame received in FRUN or RUN state makes an integer underflow in pf_cpm_c_data_ind() read outside the receive buffer, which can crash the device or leak memory contents.","severity":"high","cvss":7.1,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["embedded","industrial-control","p-net","profinet","runtime"],"not_affected_if":["no-profinet-devices","p-net-1.0.3-or-later"],"how_to_check":"- Identify whether any device in your plant or lab runs P-Net (check firmware or vendor docs for the P-Net version).\n- Check the P-Net version in use: unknown whether a single command exists; the sources do not say.","fix":"- P-Net: move to `1.0.3` or later.","status":"open","published_at":"2026-10-29T16:17:57+00:00","first_seen_at":"2026-10-29T16:25:56+00:00","triaged_at":"2026-10-29T16:30:04+00:00","updated_at":"2026-10-29T16:30:04+00:00","category":"runtime","confidence":0.6,"triage":{"at":"2026-10-29T16:30:04Z","model":"claude-haiku-5-5","output":{"fix":"- P-Net: move to `1.0.3` or later.","reach":"network","title":"P-Net: short PROFINET frame triggers out-of-bounds read in industrial controllers","impact":"medium","summary":"P-Net is an embedded PROFINET device stack before 1.0.3. A crafted short cyclic data frame received in FRUN or RUN state makes an integer underflow in pf_cpm_c_data_ind() read outside the receive buffer, which can crash the device or leak memory contents.","audience":"businesses","category":"runtime","nicknames":[],"who_cares":["profinet","p-net","industrial-control","embedded"],"confidence":0.6,"fix_status":"available","needs_auth":"unknown","worst_case":"Device crashes or leaks memory contents from the receive buffer","analyst_note":"Confirm which vendor products embed P-Net before 1.0.3 and whether the PROFINET frame path is reachable from untrusted networks; check the upstream P-Net advisory for the fix details.","how_to_check":"- Identify whether any device in your plant or lab runs P-Net (check firmware or vendor docs for the P-Net version).\n- Check the P-Net version in use: unknown whether a single command exists; the sources do not say.","plain_action":"","needs_analyst":true,"not_affected_if":["p-net-1.0.3-or-later","no-profinet-devices"],"who_is_affected":"Teams running industrial or embedded devices built on the P-Net PROFINET stack before 1.0.3, where a PROFINET controller can send cyclic data frames to the device. The sources do not say which vendor products embed P-Net or how reachable the PROFINET network is, so exposure depends on the device's network placement.","user_interaction":"no","needs_special_setup":"unknown","severity_if_unknown":"unknown"},"cost_usd":0.000733,"input_tokens":4186,"output_tokens":629,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-111735':18A,21A '-2026':17A,20A '1.0.3':41B,82C '16':125C '4':123C 'apdu':114C 'arithmet':127C 'around':144C 'bit':126C 'bound':11A 'buffer':68B,152C 'c':61B,90C 'caus':155C 'check':129C 'comput':117C 'consum':102C 'contain':83C 'content':77B,164C 'control':15A,25B 'cpm':60B,89C 'craft':43B,137C 'crash':71B,157C 'cve':16A,19A 'cyclic':45B,97C 'data':46B,62B,91C,98C 'denial':158C 'devic':38B,73B 'disclos':162C 'embed':22B,36B 'enough':135C 'frame':6A,47B,99C,120C,132C,139C 'frun':50B,106C 'function':147C 'handl':94C 'ind':63B,92C 'industri':14A,24B 'industrial-control':23B 'integ':56B,85C 'leak':75B 'length':121C 'long':134C 'make':54B,140C 'memori':76B,163C 'minus':122C 'net':3A,28B,33B,80C 'offset':111C,142C 'out-of-bound':8A 'outsid':65B,149C 'p':2A,27B,32B,79C 'p-net':1A,26B,31B,78C 'pf':59B,88C 'profinet':5A,29B,37B 'read':12A,64B,148C 'receiv':48B,67B,96C,151C 'run':52B,108C 'runtim':30B 'servic':160C 'short':4A,44B,138C 'stack':39B 'state':53B,109C 'status':115C 'trigger':7A 'underflow':57B,86C 'use':124C 'without':128C 'wrap':143C","nicknames":[],"mitigations":[],"who_affected":"Teams running industrial or embedded devices built on the P-Net PROFINET stack before 1.0.3, where a PROFINET controller can send cyclic data frames to the device. The sources do not say which vendor products embed P-Net or how reachable the PROFINET network is, so exposure depends on the device's network placement.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"businesses","plain_action":null,"first_public_at":"2026-10-29T16:17:57+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:A/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/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":"4b71179a-3b92-4a9d-b9fc-af8b8ed579ee","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-111735","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-111735","severity":null,"published_at":"2026-10-29T16:17:57+00:00","modified_at":"2026-10-29T16:17:57+00:00","first_seen_at":"2026-10-29T16:25:56+00:00","fetched_at":"2026-10-29T16:25:56+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"}