CVE-2020-36956CVE-2020-36956是Openfire 4.6.0版本中nodejs插件存在的存储型跨站脚本(Stored XSS)漏洞。该漏洞允许低权限攻击者通过构造恶意的path参数注入JavaScript脚本代码。由于该脚本存储在服务器端,所有访问nodejs配置页面的管理员都会受到攻击影响。攻击者利用此漏洞可以窃取管理员会话Cookie、劫持管理员账户、执行任意管理操作,甚至可能通过管理员权限进一步渗透内网系统。该漏洞的CVSS评分为6.4,属于中等严重程度,攻击复杂度低,无需用户交互即可实现攻击。漏洞存在于Openfire的nodejs插件模块中,该插件用于在Openfire服务器上运行Node.js应用程序。
漏洞根源在于Openfire的nodejs插件对用户输入的path参数缺乏充分的输入验证和输出编码。攻击者可以在path参数中注入包含<script>标签的恶意JavaScript代码,该代码会被永久存储在服务器配置中。当管理员访问nodejs配置页面时,服务器会从数据库读取并展示这些未经过滤的内容,导致恶意脚本在管理员浏览器中执行。攻击者利用此存储型XSS可以绕过同源策略限制,访问管理员的认证Cookie和会话信息。由于Openfire管理后台通常具有较高的系统权限,攻击者获取管理员权限后可以执行任意命令、修改系统配置或部署后门程序。漏洞的利用条件仅为低权限认证,攻击向量为网络层面,无需目标用户进行任何交互操作。