为什么我的安全工具报告 ETS6 中的 log4net.dll 过期?
ETS 拥有两种转换技术,以便与以往所有 ETS 版本所创建的项目保持兼容性:
传统转换器(用于 ETS1-ETS3 的项目)
使用log4net v2.0.8,仅用于打开和转换非常老的项目。现代转换器 (CVnext)(适用于当前所有项目数据,从 XML 1.4 开始)
使用log4net v2.0.12,并得到积极维护。
由于两个转换器都需要,因此两个 log4net 版本都安装在不同的文件夹中,例如:
C:/Program Files (x86)/ETS5\CV\5.6.241.33672\log4net.dllC:/Program Files (x86)/ETS6\CV\5.6.241.33672\log4net.dll
ETS6 是否受 CVE-2018-1285 影响?
不。 ETS6 不受 CVE-2018-1285 影响。
该 CVE 描述了一个漏洞,对于接受攻击者控制的log4net配置文件的应用而言,该漏洞允许在应用中实施基于XXE的攻击。 ETS不接受任何外部或用户控制的 log4net 配置文件。 ETS 使用的 log4net 配置是内部的静态配置。 因此,CVE-2018-1285 所要求的攻击场景不适用于 ETS。
我可以删除旧的 log4net.dll (v2.0.8) 吗?
不,您不应该删除传统的 log4net.dll。
传统转换器需要 log4net v2.0.8 文件来打开和转换旧的 ETS 项目(ETS1-ETS3)。 如果删除此文件,旧版项目可能无法正常打开或转换。
为什么更新到最新的 ETS6 版本后,两个 log4net 文件仍然存在?
这是故意的。 更新并不会移除传统转换器或其库,因为许多用户仍然需要使用旧版 ETS 项目。 这两个转换器必须保持可用,以便 ETS 能够可靠地处理各个版本的项目。
总结
log4net v2.0.8 - 仅用于传统转换器处理非常旧的ETS项目。
log4net v2.0.12 - 用于现代转换器(CVnext)处理当前所有的项目数据。
对于CVE-2018-1285,ETS6 不存在漏洞 ,因为它不会加载攻击者控制的 log4net 配置文件。
请勿删除旧版 log4net.dll 文件,因为保持向后的兼容性需要它们。