首页 网络安全 正文

Plainpad 权限提升漏洞CVE-2026-42562

摘要

栋科技漏洞库关注到 Plainpad 在 1.1.1 及之前版本中存在一个权限提升漏洞,现已经被追踪为CVE-2026-42562,CVSS 3.1评分8.8。

Plainpad 是一款开源、自托管、轻量简洁的笔记应用,该产品主打 “简单、稳定、数据可控”,支持 Markdown、代码高亮、暗黑模式。

一、基本情况

Plainpad 是一款自托管的开源笔记应用,支持通过 RESTful API 进行笔记管理,其基于 Laravel + React 构建,笔记数据库加密存储。

Plainpad 权限提升漏洞CVE-2026-42562

Plainpad 可以完全自托管,数据留在你自己服务器,不经过第三方;支持渐进式网页应用,且支持 Docker、PHP+MySQL 一键部署。

栋科技漏洞库关注到 Plainpad 在 1.1.1 及之前版本中存在一个权限提升漏洞,现已经被追踪为CVE-2026-42562,CVSS 3.1评分8.8。

二、漏洞分析

CVE-2026-42562是存在于 Plainpad 受影响版本中漏洞,影响 server/app/Http/Controllers/V1/UsersController.php::update组件。

漏洞源于是对特权属性赋值($user->admin = $request->input('admin');)缺少字段级权限校验,可实现从普通用户直接提权至管理员。

由于 UsersController::update 函数在处理 PUT /api.php/v1/users/{id} 请求时,通过 $user->admin && $user->id !== $id 进行授权检查,

但比较的是目标用户而非当前认证用户,因此这导致了权限绕过存在的情况存在。

同时,直接将请求中的 admin 属性值持久化到数据库,允许低权限认证用户通过向 PUT /api.php/v1/users/{id} 提交 admin=true 参数。

通过在请求中提交 admin=true 参数,攻击者可以自行将自己的权限提升权限为管理员。

该接口会直接持久化用户输入中的管理员权限属性,提权后的账户可立即访问仅管理员可用的路由。

攻击者能获取完整管理权限,导致数据机密性与完整性遭到严重破坏,并根据管理员功能范围获得对系统的整体控制权。

通过添加 Auth::user() 获取当前认证用户并检查其管理员权限,同时仅在认证用户为管理员时才允许修改 admin 属性,防止权限提升。

三、影响范围

plainpad ≤ 1.1.1

四、修复建议

plainpad > 1.1.1

五、参考链接

管理员已设置登录后刷新可查看



扫描二维码,在手机上阅读
评论
更换验证码
友情链接