根据Thales的网站[1],SafeNet认证客户端是一个中间件客户端,用于管理Thales庞大的基于证书的身份验证器SafeNet产品组合,包括eToken、SafeNet IDPrime智能卡、USB及基于软件的设备。
多个文件设置了不恰当的权限,允许以root用户覆盖文件,以及权限提升(需要多个步骤)。
CWE-378:不安全权限下的临时文件创建 CWE-377:不安全的临时文件
在安装过程中,Safenet 对以下目录设置了 chmod 777,对文件设置了 666(列出在最新SAC版本中仍然存在漏洞的文件):
当SafeNet认证客户端执行不同操作(例如锁定/解锁)时,会创建/更新eToken.*文件。
两个不同的问题:
因此,任何本地攻击者都可以通过符号链接攻击:
在基于Windows的系统上也发现了相同的问题(对这些文件设置了"Everyone"拥有"Full control"权限),并且没有找到任何利用符号链接攻击的简单方法(在最近的任何Windows系统中默认被阻止)。
drwxrwxrwx 2 root root 4.0K Jul 10 21:18 eToken.lock
-rw-rw-rw- 1 root root 0 Jul 10 21:30 'AKS ifdh [eToken 5110 SC] 00 00.lock'
It's the same for eToken.hid
drwxrwxrwx 2 root root 4.0K Jul 10 21:30 eToken.hid
-rw-rw-rw- 1 root root 0 Jul 10 21:30 global.lock
or
When token status changed (user is logging in; reconnecting through their VPN):
$ ls -laht /etc/passwdTEST -rw-rw-rw- 1 root root 0 Jul 10 21:20 /etc/passwdTEST