CVE-2026-42844Grav是一款基于文件的Web平台。在Grav 2.0.0-beta.2版本中发现了一个高危权限提升漏洞。拥有api.media.write权限的低级别认证用户,能够利用/api/v1/blueprint-upload接口,在系统的user/accounts/目录下写入恶意的YAML配置文件。攻击者借此创建一个具备api.super超级特权的账户,进而登录获取系统的完全控制权,导致严重的安全风险。
该漏洞的核心在于Grav API对/blueprint-upload接口的文件写入路径缺乏严格的限制。在受影响版本中,虽然用户仅被授予api.media.write权限,理论上只能操作媒体文件,但该接口并未有效防止向敏感系统目录写入数据。攻击者通过发送特制的HTTP POST请求,上传包含恶意构造用户信息的YAML文件。利用路径遍历或直接指定目标目录的方式,将该文件写入user/accounts/目录。Grav系统在加载账户配置时,会解析该YAML文件并创建对应的用户实例。攻击者在YAML中预设了api.super权限等级,一旦文件写入成功,即可利用新创建的超级用户账户进行登录。这不仅绕过了系统的权限隔离机制,还允许攻击者接管整个Grav CMS的管理后台和API接口,执行包括代码执行、数据窃取等在内的任意操作。