AWS Systems Manager(SSM)的代理程序使用要小心!安全企业Cymulate本周披露其中存在发现路径穿越漏洞,起因是插件程序ID的验证不当所致,一旦攻击者成功利用漏洞,就有机会以root权限执行任意脚本、在文件系统非规划位置创建文件夹,甚至能在系统的敏感区域写入数据,而有机会达到权限提升的目的。此漏洞已于2月底通报,AWS于3月初发布3.3.1957.0版SSM Agent进行修补。

AWS SSM Agent的主要功能,是让管理者能远程管理、设置EC2实体及本机服务器,在AWS的管理及自动处理作业相当重要。管理者借由JSON或YAML范本打造SSM文件(SSM Document)下达指令,交由SSM Agent执行相关工作,像是执行Shell脚本、部署软件、调整系统组态,通常SSM文件会包含执行工作所需的插件程序,一旦SSM Agent执行,就会根据插件程序的ID创建文件夹及文件,而Cymulate找到的安全漏洞,就与插件程序的ID验证缺失有关。

针对这项路径漏洞发生的原因,研究人员指出发生在SSM Agent名为pluginutil.go的组件,其中称为ValidatePluginId的功能,尝试清理输入失败所致,使得攻击者可运用带有路径穿越的符号(如../)设置恶意插件程序的ID,从而利用漏洞。

一旦SSM文件执行,就会以插件程序的ID创建文件夹,并以root权限创建_script.sh文件并执行。由于SSM Agent验证插件程序的ID存在弱点,使得攻击者能在非预期的文件系统路径创建文件夹并执行脚本,而有机会提升权限或是从事其他恶意活动。

虽然已发布新版SSM Agent缓解弱点,但Amazon在外电报道后提出新的说明,他们强调,这项弱点不会授给新的用户权限,攻击链依赖执行SSM文件的用户具备的权限,因此,Amazon不认为这是权限提升漏洞。他们也呼吁用户应采用3.3.1802.0以上版本,以免受到这项弱点的影响。