CVE-2026-42562Plainpad是一款自托管的笔记应用程序。在1.1.1版本之前,该应用存在一个严重的权限提升漏洞。由于后端接口缺乏对敏感参数的过滤,低权限的已认证用户可以通过向`PUT /api.php/v1/users/{id}`端点发送包含`admin=true`的特制请求,直接将自己提升为管理员。该接口直接将用户输入的admin属性持久化到数据库,未验证发起请求的用户是否具备修改权限的资格。利用此漏洞后,攻击者可立即访问仅限管理员的路由,获取系统完全控制权。目前官方已在1.1.1版本中修复了此问题。
该漏洞源于服务器端对用户输入数据的处理不当,属于典型的Mass Assignment(批量赋值)漏洞。在Plainpad受影响的版本中,`PUT /api.php/v1/users/{id}`接口用于更新用户信息,但其后端逻辑未对请求参数进行严格的白名单过滤。当低权限的已认证用户向该端点发送请求时,程序会将客户端提交的所有参数直接映射到用户模型对象,并直接保存到数据库中,而未验证发起请求的用户是否具备修改特定字段的权限。攻击者利用这一缺陷,只需在发送PUT请求时,在请求体中添加或修改`admin`参数为`true`。由于缺乏服务端的权限校验机制,服务器会无条件接受该输入并将该用户的角色更新为管理员。一旦数据库更新完成,攻击者当前的会话或后续请求将立即拥有管理员级别的访问令牌,从而能够访问仅限管理员的路由和功能,如查看所有笔记、管理其他用户账户或修改系统配置。这导致系统的机密性和完整性受到严重破坏。