CVE-2026-38719OpENer v2.3-558-g1e99582版本中存在严重的安全漏洞。该漏洞源于Common Packet Format (CPF)解析器在处理特定消息时存在缺陷。攻击者可以通过发送特制的ENIP/CPF消息,利用未经验证的item_count值触发越界读取。尽管主要影响为可能导致拒绝服务,但这暴露了该工业协议栈在数据校验方面的不足。
该漏洞位于OpENer项目的`source/src/enet_encap/cpf.c`文件中的`CreateCommonPacketFormatStructure()`函数内。在解析Common Packet Format (CPF)数据结构时,程序从输入流中读取`item_count`字段以确定后续数据项的数量。然而,代码逻辑存在缺陷,未将此`item_count`与实际可用的`data_length`(CPF切片的剩余数据长度)进行充分的一致性验证。攻击者可以构造一个恶意的ENIP数据包,其中包含一个经过精心设计但异常大的`item_count`值。当OpENer处理该数据包时,会尝试读取超出缓冲区边界的数据。虽然越界读取通常用于信息泄露,但在本例中,它更可能导致程序异常终止,从而影响系统可用性(A:H)。