一、漏洞概述
近日,CodeSys官方发布4份安全更新通告,修复了codesys V2的10个漏洞,其中绿盟科技格物实验室提交的3个漏洞被评为高危,并获得官方致谢。这3个漏洞的攻击路径均为codesys runtime支持的私有通信协议,利用这些漏洞,轻则可能导致目标产品发生拒绝服务、宕机等后果,重则可使目标执行恶意攻击者编制的利用代码,以此影响生产、持续潜伏、窃取敏感数据、发动定点攻击等。
CVE-2021-30188(CVSS3.0评分8.8): CWE-121: Stack-based Buffer Overflow
特制的请求报文发送至受影响的codesys产品中,可能引起目标的拒绝服务或者远程代码执行。
CVE-2021-34595(CVSS3.0评分8.1): CWE-823: Use of Out-of-range Pointer Offset
单个特制的请求报文发送至受影响的codesys产品中,可造成越界读或者写,进而引发拒绝服务或者本地内存被覆盖。
CVE-2021-34596(CVSS3.0评分8.1): CWE-824: Access of Uninitialized Pointer
单个特制的请求报文发送至受影响的codesys产品中,可造成访问未初始化的指针,进而引发拒绝服务。
Codesys是全球最著名的软PLC内核软件研发厂家德国的3S(SMART,SOFTWARE,SOLUTIONS)公司发布的一款与制造商无关IEC 61131-1编程软件及工控设备内核(runtime SDK)。Codesys 支持完整版本的IEC61131标准的编程环境,支持标准的六种编程语言,是一个标准的与硬件无关的runtime,被很多硬件厂家支持, CoDeSys提供了许多组合产品的扩充,诸如各种不同领域的总线配置程序和运动控制系统。Codesys runtime支持的硬件平台如下所述:
参考链接:
https://www.codesys.com/security/security-reports.html
二、影响范围
受影响版本
- CODESYS Runtime Toolkit 32 bit < V2.4.7.56
- CODESYS PLCWinNT < V2.4.7.56
注:这些漏洞不仅影响codesys软件产品,还影响使用codesys runtime内核的广大工控厂商,codesys作为工控界的安卓被广泛使用在工控设备中,据官方统计使用codesys解决方案的知名企业超过500家,市场占有率为35%,其中ABB、施耐德电气SchneiderElectric、费斯托Feso、伊顿电气、博世力士乐、倍福BECKHOFF、研华科技、凌华科技ADLINK、和利时集团、汇川技术、深圳英威腾、华中数控、固高科技等都使用了codesys runtime。
三、漏洞防护
3.1 官方升级
目前官方已发布修复以上漏洞的固件版本,请使用了codesys runtime的工控厂商及时自查尽快升级版本进行防护,官方下载链接:https://www.codesys.com/download
3.2 其他防护措施
- 网络,并且做好访问审计。
- 将受影响的产品放置于安全防护设备之后,做好网络安全的纵深防御策略。
- 当需要进行远程访问时,尽量采用安全的VPN网络,并且做好访问审计。
- 关注受影响厂商的安全补丁,经过测试后升级受影响的产品以使其免受威胁。
- 尽量减少受影响设备的私有通信端口暴露,可根据业务场景选择关闭1200/1201/2455等端口。
声明
本安全公告仅用来描述可能存在的安全问题,绿盟科技不为此安全公告提供任何保证或承诺。由于传播、利用此安全公告所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,绿盟科技以及安全公告作者不为此承担任何责任。
绿盟科技拥有对此安全公告的修改和解释权。如欲转载或传播此安全公告,必须保证此安全公告的完整性,包括版权声明等全部内容。未经绿盟科技允许,不得任意修改或者增减此安全公告内容,不得以任何方式将其用于商业目的。