CVSS 3.1权限要求(PR)深度解读
文章目录
- 1. PR指标的核心定义
- 1.1 基本概念
- 1.2 核心特征
- 1.3 评分影响
- 2. PR的三种类型及典型场景
- 2.1 None (N):无需任何权限
- 2.2 Low (L):需普通用户权限
- 2.3 High (H):需最高控制权限
- 3. PR判定的关键原则与常见误区
- 3.1 黄金判定法则
- 3.2 五大关键原则
- 3.3 常见误区澄清
- 4. 特殊场景的处理
- 4.1 敏感接口的权限限制
- 4.2 环境评分调整(MPR)
- 4.3 边界突破场景
- 5. 总结
- 5.1 核心要点回顾
- 5.2 最佳实践建议
1. PR指标的核心定义
1.1 基本概念
权限要求(Privileges Required, PR)衡量攻击者成功利用漏洞前必须在目标系统上具备的访问权限级别。该指标直接影响漏洞利用门槛和攻击者范围。
1.2 核心特征
- 状态导向:仅关注漏洞触发瞬间攻击者的权限状态
- 前置条件:评估利用前所需权限,而非利用后获得的权限
- 独立指标:与用户交互(UI)、影响范围(Scope)等指标相互独立
1.3 评分影响
PR等级 | 攻击门槛 | 潜在攻击者范围 |
---|---|---|
None | 最低 | 所有网络访问者 |
Low | 中等 | 普通用户 |
High | 最高 | 管理员级用户 |
2. PR的三种类型及典型场景
2.1 None (N):无需任何权限
定义:攻击者无需任何身份认证或账户权限
典型场景:
- 未授权访问管理接口(如无密码的Web控制台)
- 无需认证的远程代码执行(如Log4Shell漏洞默认配置)
- 未防护的敏感数据泄露接口
2.2 Low (L):需普通用户权限
定义:攻击者需拥有有效非特权账户
关键判定:
- 权限获取难易度不影响基础PR值
- 仅需登录即属于此范畴(无论是否使用RBAC)
典型场景:
2.3 High (H):需最高控制权限
定义:需对受影响组件拥有管理员级控制权
核心标准:
- 不限于"管理员"头衔,而是组件最高权限
- 包括:系统root、数据库SA、云服务Owner等
典型场景: - 需管理员触发的内核驱动漏洞
- 仅限超级用户访问的配置修改接口
- 需集群管理员执行的K8s指令注入
3. PR判定的关键原则与常见误区
3.1 黄金判定法则
graph TDA[需权限?] -->|否| B(PR=None)A -->|是| C{是否组件最高权限?}C -->|是| D(PR=High)C -->|否| E(PR=Low)
3.2 五大关键原则
- 状态优先:仅关注攻击发起时的权限状态
- 组件聚焦:以受影响组件的权限体系为准
- 机制无关:与权限验证方式(RBAC/ABAC/隐式)无关
- 环境分离:权限获取难易度属于环境评分范畴
- 漏洞链区分:前置漏洞权限不纳入当前PR计算
3.3 常见误区澄清
误解场景 | 正确判定 | 原因分析 |
---|---|---|
手机号轻松注册普通账户 | PR=Low | 仍需账户状态(非匿名) |
未使用RBAC的登录保护接口 | PR=Low | 本质仍是身份认证要求 |
需云服务“读写”权限 | PR=Low | 未达到Owner级最高控制权 |
部门管理员权限 | PR=High | 代表该层级的最高权限 |
4. 特殊场景的处理
4.1 敏感接口的权限限制
- 当接口明确限制仅管理员访问 → PR=High
- 权限校验失效时(如越权漏洞)→ 按实际触发权限判定(通常PR=Low)
4.2 环境评分调整(MPR)
当权限获取难度显著影响风险时:
-
保持基础PR值不变(如手机注册场景仍为Low)
-
在环境评分中调整MPR(Modified PR)
| 环境特征 | MPR调整建议 | |---------------------------|-------------| | 普通账户可匿名注册获取 | 调至None | | 所有用户默认管理员权限 | 调至Low |
4.3 边界突破场景
- 虚拟机逃逸:初始PR=Low(只需客户机权限)
- 容器逃逸:成功逃逸后Scope标记为Changed
5. 总结
5.1 核心要点回顾
- PR=None:攻击者处于完全匿名状态
- PR=Low:需要任意有效用户账户
- PR=High:需组件最高控制权(不限于管理员头衔)
5.2 最佳实践建议
- 漏洞评估时优先确认受影响组件的权限体系
- 严格区分权限状态与权限获取过程
- 敏感接口必须显式声明权限要求
- 环境评分中根据实际权限分配调整MPR
- 权限控制缺陷(如越权)应单独评估漏洞
终极准则:PR值始终取决于攻击者触发漏洞瞬间的权限状态,而非目标系统的设计理念或权限分配策略。