漏洞概述
CVE-2025-68954 是 Pterodactyl 游戏服务器管理面板中的一个安全漏洞,评级为 高危(CVSS 4.0 评分 7.5)。该漏洞的根本原因是:当服务器实例中的用户被移除或其文件访问权限被修改时,Pterodactyl 不会主动撤销已激活的 SFTP(SSH 文件传输协议)连接。
这意味着,一个已被授权并建立了 SFTP 连接的用户,即使在面板中被移除了服务器访问权限或降低了权限,只要其 SFTP 连接未中断,仍能持续访问服务器的文件系统,直到连接因 Wings(Pterodactyl 的服务端控制平面)重启或用户手动断开而终止。
技术细节
漏洞存在于 Pterodactyl 的权限验证与会话管理机制中,具体涉及两个核心组件:
- Panel: 基于 Web 的管理面板,负责用户身份验证和权限管理。
- Wings: 用 Go 语言编写的服务器控制平面,为每个游戏服务器实例提供独立的运行环境和内置的 SFTP 服务器。
漏洞产生流程
- 初始连接与认证: 当用户尝试通过 Wings 的 SFTP 服务器连接到一个游戏服务器时,Wings 会向 Panel 发起一个 API 调用以验证用户凭证和权限。此次认证是连接建立的唯一检查点。
- 权限变更: 管理员随后在 Panel 中删除该用户或修改其文件访问权限。
- 会话持续: 由于 Wings 不会在连接建立后再次验证或检查用户会话的有效性,之前已建立的 SFTP 连接不会收到权限变更的通知,连接得以保持。
- 未授权访问: 该用户通过持续的 SFTP 会话,仍然可以读取、写入或删除其本应已无权访问的服务器文件。
影响范围与限制
- 受影响的版本: Panel 和 Wings 的 1.11.11 及之前的所有版本。
- 已修复的版本: Panel 和 Wings 的 1.12.0 版本。
- 漏洞利用前提: 攻击者必须在权限被撤销的那一刻已经建立了有效的 SFTP 连接。如果一个用户在权限被撤销后才尝试连接,将无法通过认证。
- 影响边界: 此漏洞仅限于通过 SFTP 子系统对特定游戏服务器本地文件系统的访问。不会暴露 Wings 控制平面的私有数据或其他服务器实例的数据。
修复方案
官方修复方案是将 Panel 和 Wings 升级到 1.12.0 或更高版本。该版本修复了会话管理逻辑,确保在用户权限发生变更时能正确终止相关的活跃会话。
相关参考信息
- GitHub 安全公告: GHSA-8c39-xppg-479c
- 官方修复提交: Panel 仓库的
2bd9d8b提交 - NVD 记录: CVE-2025-68954 (美国国家漏洞数据库)
- 弱點枚举: 此漏洞被归类为 CWE-613: Insufficient Session Expiration(会话过期不充分)。
补充说明
根据提供的其他资料:
- Wings 组件介绍: Wings 是 Pterodactyl 的服务器控制平面,专为游戏行业设计,强调高性能与安全性。它提供了管理服务器实例、获取日志、生成备份和控制服务器生命周期的 HTTP API,并内置了 SFTP 服务器。
- 版本更新内容: 在 Panel 的 v1.12.0 版本发布说明中,修复 CVE-2025-68954 被列为首要的修复项。该版本还一并修复了多个其他安全问题(如 CVE-2025-69197、CVE-2025-69198)及若干功能缺陷。