ApostropheCMS 页面 API 授权绕过漏洞
先了解这件事
GitHub 安全公告披露,ApostropheCMS 核心页面 REST API 存在授权绕过漏洞(GHSA-2j32-q6rx-h844):getOne 与 all=1 树形导出使用 .permission(false) 读取完整页面文档,绕过页面类型的 viewRole、visibility: private 和 visibility: loginRequired 检查。公告称,未登录访客和低权限贡献者可通过 _id 或 slug 读取仅管理员可见及非公开的页面内容。 后续公告进一步指出,GET /api/v1/@apostrophecms/page/:id 未应用 viewRole 类型级限制和 viewPermission 字段级脱敏,而 getAll 接口对两者均正确执行。公告称,编辑级用户只要知道文档 _id,即可读取仅限管理员访问的页面全文及受 viewPermission 保护的字段;同一编辑访问按类型查询的列表接口会得到 403,但按 _id 请求却能拿到完整内容。 公告建议的修复方式是:从 getOne/all 移除 .permission(false),或重新套用页面类型的 viewRole 门槛,以及列表和自动补全路径所用的同一套 visibility、登录要求条件(参照 piece-type);同时让 publicApiCheck 只检查配置是否存在,并为每个动词增加显式授权步骤。
AI 根据报道生成 · 1 天前更新
报道时间线
沿着报道,了解事件的不同侧面。
- GitHub 安全公告库 (GHSA)ApostropheCMS 页面 getOne 接口绕过 viewRole 限制并泄露 viewPermission 字段
ApostropheCMS 的页面 REST 接口 GET /api/v1/@apostrophecms/page/:id 未应用 viewRole 类型级限制和 viewPermission 字段级脱敏,而 getAll 接口对两者均正确执行。编辑级用户只要知道文档 _id,即可读取仅限管理员访问的页面全文及受 viewPermission 保护的字段。
- GitHub 安全公告库 (GHSA)精选ApostropheCMS 页面 REST API 授权绕过漏洞,匿名可读取私有页面
GitHub 安全公告披露 ApostropheCMS 核心页面 REST API 存在授权绕过,getOne 与 all=1 树形导出使用 .permission(false),绕过页面类型的 viewRole、visibility: private 和 visibility: loginRequired 检查。
本事件热度走势
还没有足够的连续观测数据,暂不绘制趋势。