一、软件背景
JumpServer 是一款开源的堡垒机和会话管理系统,旨在为企业提供安全、高效的远程访问管理解决方案。它能够集中管理和控制服务器、网络设备以及其他终端设备的访问权限,帮助企业实现对敏感资源的严格管控和监控。
二、漏洞简述
在JumpServer受影响版本中,由于会话回放录像接口/api/v1/terminal/sessions/鉴权不当,未授权的攻击者可以通过直接访问/api/v1/terminal/sessions/接口查看并下载会话回放录像数据。
当会话回放存储在S3或OSS或其他云存储中,则不受此漏洞影响。
三、漏洞版本
JumpServer@[3.0.0, 3.5.5)
JumpServer@[3.6.0, 3.6.4)
四、漏洞分析
查看官方github commit修复记录:
可以发现,权限控制校验从BasePermission替换成为了IsAuthenticated。而django permissions.BasePermission 是一个抽象基类,它定义了一组用于权限判断的方法,但它本身并没有提供任何默认的权限控制逻辑。所以导致了commit记录里的几个接口文件未授权访问。
五、漏洞测试
由于jumpserver 很多用户还未升级到3以上版本,读者们可以自行搭建漏洞版本范围内的版本进行测试。
六、漏洞修复
升级到3.6.4以上
临时策略可禁止访问/api/v1/terminal/sessions/接口