可利用性指标(Exploitability Metrics)评估漏洞利用条件。攻击向量(Attack Vector)反映利用上下文,攻击者离目标越远度量值与严重性越大,因网络利用的潜在攻击者多于需物理访问者。攻击复杂度(Attack Complexity)指攻击者需采取可量化动作规避内置安全机制获取利用,无特定变量的漏洞复杂度更低。攻击要求(Attack Requirements)捕获实现攻击所需的先决部署与执行条件。
正文
可利用性指标
攻击向量:反映漏洞可能被利用的场景。攻击者为了利用脆弱系统,在逻辑和物理上能够越远,该指标值(以及由此得出的严重性)就越高。假设是:可跨网络利用的漏洞,其潜在攻击者数量要多于需要物理接触设备才能利用的漏洞,因此应给予更高的严重性评级。
攻击复杂度:反映攻击者为获得可用利用而必须主动规避或绕过现有内置安全增强条件所需采取的可测量行动。这些条件的首要目的是提高安全性,和/或增加攻击工程实现的复杂度。无需目标特定变量即可利用的漏洞,其复杂度低于需要非平凡定制的漏洞。该指标意在反映脆弱系统所用的安全机制。
攻击要求:反映脆弱系统在部署和执行方面的前提条件或变量,这些条件使攻击得以实施。它们不同于安全增强技术/手段(参见攻击复杂度),因为其主要目的并非明确缓解攻击,而是作为脆弱系统部署与执行的天然结果出现。
所需权限:描述攻击者在成功利用漏洞之前必须拥有的权限级别。攻击者在攻击前获取特权凭证的方式(例如免费试用账号)不在该指标范围内。一般来说,如果攻击者能在攻击过程中自行授予权限,则自助开通的账号不构成权限要求。
用户交互:反映除攻击者外,是否还需要人类用户参与才能成功入侵脆弱系统。该指标决定漏洞是仅凭攻击者意愿即可利用,还是必须有单独用户(或用户发起的进程)以某种方式参与。
脆弱系统影响指标
机密性:衡量成功利用漏洞后,对脆弱系统所管理信息的机密性造成的影响。机密性指将信息访问和披露限制在授权用户范围内,并防止未授权者访问或获知信息。
完整性:衡量成功利用漏洞对完整性造成的影响。完整性指信息的可信度与真实性。当攻击者未经授权修改系统数据时,脆弱系统的完整性即受到影响。当系统用户能够否认在系统环境中采取的关键操作时(例如日志记录不足),完整性也会受到影响。
可用性:衡量成功利用漏洞对脆弱系统可用性造成的影响。机密性和完整性影响指标针对的是系统所用数据(如信息、文件)的机密性或完整性损失,而该指标指受影响系统本身(例如网络服务,如 Web、数据库、电子邮件)的可用性损失。由于可用性指信息资源的可访问性,消耗网络带宽、处理器周期或磁盘空间的攻击都会影响系统可用性。
后续系统影响指标
机密性:衡量成功利用漏洞后,对后续系统所管理信息的机密性造成的影响。机密性指将信息访问和披露限制在授权用户范围内,并防止未授权者访问或获知信息。
完整性:衡量成功利用漏洞对完整性造成的影响。完整性指信息的可信度与真实性。当攻击者未经授权修改系统数据时,后续系统的完整性即受到影响。当系统用户能够否认在系统环境中采取的关键操作时(例如日志记录不足),完整性也会受到影响。
评论
讨论的焦点不是漏洞是否存在,而是它有多严重:主流声音认为 CVSS 高分和媒体标题夸大了实际影响,另一派则借机清算 WordPress 长期的安全记录与代码质量,少数人干脆质疑「用得多所以漏洞多」这个前提本身。
认为 CVSS 分数和标题党夸大了漏洞的实际影响
- CVSS 评分说明不了什么,不该出现在新闻标题里;这是情境受限的 WordPress 远程代码执行,只影响少数几个主题(较多人)
- 利用条件并不普遍:需要 pearcmd.php 存在且 registerargcargv 打开,托管商通常不会这样配置,但叠加其他主题和前置条件后仍可能波及不少站点(较多人)
- 补丁已回溯到 4.7 分支算是尽责,但约三分之一的安装根本不在最新的 7.x 分支上(较多人)
CVSS 分数说明不了任何问题,最好别再让它们出现在标题里。(@tptacek)
认为 WordPress 是 Web 史上最容易被攻破的软件之一
- 任何可公开访问的服务器都会被 /something/something.php?arg=val 这类扫描刷满;若论整个 Web 历史上被利用最多的软件,WordPress 必定名列前茅(较多人)
- 写过插件的人一眼就能看出它的混乱:文档正是 spaghetti code 的写照,开发插件时高频使用的方法有一半没有文档,甚至没有类型标注(较多人)
- 有人的客户只要求「给 WordPress 配个简单 PHP 主机」,安装当天站点就被黑,全靠出口白名单才把损失压到一个 403 错误页;连负载均衡/反向代理这种基础场景至今无解,开发者以「X-Forwarded-For 不是官方 RFC」为由拒绝在核心支持,同时也不支持官方 RFC 的对应做法(较多人)
写它的插件就知道,文档完全是那团面条代码的缩影,常用的方法一半没文档、连类型都没有。(@iLoveOncall)
认为与其打补丁不如直接离开 WordPress
- 有人让 Codex 把整站重写成 Hugo 模板、转为静态托管,从此彻底卸下这块心病(少数人)
- 同感的极端表达是把它比作街头捡来的口香糖,连碰都不该碰(少数人)
用 WordPress 就像嚼从街上捡来的、别人吐掉的口香糖。(@Roscius)
怀疑「用得多所以漏洞多」这个前提本身
- 这个流行说法未必成立:人类不会为冷门代码投入十万小时,但 AI 可以横扫整个生态,若前提为真,年 CVE 数量很快会冲到百万级;也可能只是 PHP 本身烂而已(少数人)
如果「用得多所以漏洞多」真成立,那 CVE 数量迟早会涨到每年百万级;也说不定只是 PHP 太烂。(@lyu07282)
有价值的补充
- 受影响函数 locate_template() 的官方文档下,九年前就有人指出它不防目录遍历,并提醒传入用户可控的模板名时必须校验来源目录——这条旧评论同时点明了漏洞性质和修复方向,堪称精准预言
- 有人从 7.1.1 到 7.1.2 的版本对比中定位出具体补丁提交
- 一位用户注意到某个非常老旧的主题突然出现意外更新,推测正是这次修复的回溯
- 关于「版权式修复」的调侃背后有个硬事实:回溯范围虽广,实际覆盖面受限于大量站点长期不升级