CODES控制服务器.exe中存在内存泄漏条件(文件3.5.15.40版),原因是处理7层时未能释放堆积内存缓冲区SRV_VISU_REGERCLIENT请求发送Web服务器URL端点/WebVU3非认证远程攻击者可以通过一系列特制HTTP请求来利用这一问题,增加内存使用过程,这可能导致拒绝使用CODESV3运行时间系统
SRV_VISU_REGISCLIENT请求中,攻击者可指定多二进制标签运行时CmpVisuServer组件从堆中分配缓冲存储二进制标签中的某些数据并存储缓冲指针
wiben-0053FB9E推送++arg-pout-wiben-0053FBA1imuledxCmpVisuServer en-wiben-00-0053FBAB调用sysMallocData wiben-00-0053FBB0添加esp,0Ch-wibu00-0053FBB3mvecx
处理后二进制标签时,分配另一个内存缓冲,但指针存储在同一位置上,覆盖指针前分配缓冲处理SRV_VISU_REGISCLIENT请求时,只有最后缓冲区解禁
wibum0053D361eaxCmpVisuServer_wiben00.0053D36D调用SysMemFreedData
问题可归纳为:
formsssi pItems);
SRV_VISU_REGERCLIENT使用HTTP信头并显示HTTP信头最大尺寸(即48K)。攻击者可能需要发送大数请求以泄漏内存到CODESYS运行时组件无法再分配内存
CODES控件服务.exe使用某种内存垃圾收集系统,可释放不再使用分配内存攻击者仍能造成存储器分配失效,日志文件显示
2020-04-28-T22:37Z0x00054209警告:VisuInfoTUPL
3764
应用=
APP应用
2020-04-28-T22:37Z0x00057400
576
2020-04-28-T22:37Z0x00054209警告:VisuInfoTUPL
3 76467
应用=
APP应用
2020-04-28-T22:37Z0x00057400
576
2020-04-28-T22:37Z0x00054209警告:VisuInfoTUPL
376469
应用=
APP应用
2020-04-28-T22:37Z0x00057400
576
2020-04-28-T22:37Z0x00054209警告:VisuInfoTUPL
376471
应用=
APP应用
2020-04-28-T22:37Z0x00057400
576
2020-04-28-T22:37Z0x00054209警告:VisuInfoTUPL
376473
应用=
APP应用
2020-04-28-T22:37Z0x00057400
576
.
概念证明
codesys_v3_webserver_memory_leak_dos_tra_2020_46.py