# Pimcore Admin Classic 缺少预定义属性授权
## 概述
Pimcore Admin Classic Bundle 在 2.2.3 和 1.7.16 之前版本中,存在一个因缺少服务器端授权检查而导致的权限绕过漏洞,允许认证用户未经授权获取预定义属性列表。
## 影响版本
- Pimcore Admin Classic Bundle < 2.2.3
- Pimcore Admin Classic Bundle < 1.7.16
## 细节
该漏洞存在于用于列出预定义属性的 API 端点中。预定义属性是用于文档、资源和对象中的标准化自定义元数据配置(如名称、键名、类型、默认值)。尽管管理这些属性需要特定权限,但该端点未执行相应权限校验。经验证,即使不具备属性管理权限的已认证后台用户,也可调用此接口并获取全部预定义属性配置。
## 影响
未经适当授权的已认证用户可访问平台中所有预定义属性的完整列表,可能导致敏感配置信息泄露,破坏最小权限原则。
是否为 Web 类漏洞: 未知
判断理由:
| # | POC 描述 | 源链接 | 神龙链接 |
|---|
标题: Release 2.2.3 · pimcore/admin-ui-classic-bundle · GitHub -- 🔗来源链接
标签:x_refsource_MISC
神龙速读:
从这个网页截图中可以获取到以下关于漏洞的关键信息:
- **版本发布信息:**
- 当前版本:`2.2.3`
- 发布者:`@robertSt7`
- 发布时间:上周
- **修复的漏洞:**
- **PEES-857: Grid View SQL Exception using filter**
- 描述:修复了Grid View中使用过滤器时的SQL异常问题。
- 提交者:`@robertSt7`
- 提交ID: `#1071`
- **Fix Predefined Property permission**
- 描述:修复了预定义属性权限问题。
- 提交者:`@kingjia90`
- 提交ID: `#1072`
- **贡献者:**
- `kingjia90` 和 `robertSt7`
- **资产:**
- 提供了源代码的压缩包形式,分别为:
- `Source code (zip)`
- `Source code (tar.gz)`
- **完整变更日志:**
- 可以查看从 `v2.2.2` 到 `v2.2.3` 的所有变更日志。
这些信息可以帮助开发者了解此版本修复的漏洞和所做的改进,从而更好地进行代码更新和漏洞修复工作。
标题: Release 1.7.16 · pimcore/admin-ui-classic-bundle · GitHub -- 🔗来源链接
标签:x_refsource_MISC
神龙速读:
## 关键漏洞信息
- **漏洞描述**:
- 存在一个预先定义的属性权限问题(Predefined Property permission)。
- **修复版本**:
- 修复此漏洞的版本为 v1.7.16。
- **修复原因**:
- 由用户 @kingjia90 发现并在 #1072 中进行修复。
标题: Broken Access Control: Missing Function Level Authorization on "Predefined Properties" Listing · Advisory · pimcore/pimcore · GitHub -- 🔗来源链接
标签:x_refsource_CONFIRM
神龙速读:
从这张网页截图中,可以获取到以下关于漏洞的关键信息:
## 关键信息概览
- **漏洞类型**:Broken Access Control - 缺失的函数级授权。
- **受影响版本**:<=2.2.2且<=1.7.15。
- **修复版本**:2.2.3及1.7.16。
- **严重性**:CVSS v3评估分数为4.3/10。
- **CVE ID**:CVE-2026-23495,关联CWE-284。
- **发现人**:由Ytlamal发现。
## 漏洞详细描述
### 概述
此API接口用于在Pimcore平台中列出预定义的属性配置,但缺少必要的服务器端授权检查。预定义属性是文档、资产和对象中使用的可配置元数据定义(如:名称、键、类型、默认值),用于标准化自定义属性和改进编辑工作流,如Pimcore官方属性指南中所文档化。测试确认,具有后台权限但未经授权于属性管理的用户,仍然可以成功调用此API并获取完整的预定义属性配置列表。
### 复现步骤
1. 以管理员身份登录并点击“预定义属性”项,捕获并保存请求。请求为POST /admin/settings/properties?xaction=read&_dc=1765377154407。
2. 以无任何权限的后台用户身份登录,捕获并保存请求。对于列表API,该请求为GET /admin/user/get-current-user?_dc=...
3. 复制作步骤1中捕获请求中的Cookie和X-Pimcore-Csrf-Token,复制到步骤2中捕获的请求中。可以看到,低权限用户此刻添补上X-Pimcore-Csrf-Token即可获取“Predefined Properties”列表。
### 影响
利用此漏洞,低特权用户可以枚举所有预定义属性以暴露内部元数据模式、默认值和配置细节,这些可能揭示业务逻辑、数据分类策略或敏感的默认值(如专有密钥或选择选项)。在像Pimcore这样的PIM系统中,这可能促进对进一步攻击的侦察,如数据操纵或特权升级,导致资产/对象属性的未经授权的更改。对于处理受监管内容(例如,GDPR或PCI DSS下的电子商务目录)的组织而言,这种暴露泄露合规性漏洞、知识产权泄露和由意外属性覆盖引起的运营不一致。
标题: [Bug]: Fix Predefined Property permission (#1072) · pimcore/admin-ui-classic-bundle@9809594 · GitHub -- 🔗来源链接
标签:x_refsource_MISC
神龙速读:
# 关键漏洞信息
## 漏洞概述
- **提交ID**: 9809594
- **提交者**: kingjia90
- **提交日期**: 2025年12月17日
- **提交标题**: [Bug]: Fix Predefined Property permission (#1072)
- **漏洞类型**: 权限检查重复
## 漏洞描述
在预定义属性 (`predefined_properties`) 的权限检查中存在重复项,这可能会导致权限验证逻辑错误或冗余。
## 文件修改
- **文件路径**: `src/Controller/Admin/SettingsController.php`
- **修改行号**: 264-269
- **具体修改**:
- 移除了在 `if ($request->get('data'))` 中的重复权限检查 `$this->checkPermission('predefined_properties');`
## 安全影响
- **可能影响**: 由于权限检查的冗余,可能导致不必要的性能开销,或在某种情况下造成权限验证的逻辑漏洞。
- **修复措施**: 通过移除重复的权限检查,确保权限验证逻辑的正确性和高效性。
## 版本信息
- **相关版本**: v2.2.3, v1.7.16
暂无评论