研究
2026 年 7 月漏洞:先修什么,为什么
七月漏洞里,低分也可能对应正在遭到利用的管理入口。我们比较评分遗漏,追踪 Gitea、WordPress 与 ANGLE 的补丁,说明修复顺序应怎样结合实际暴露,以及更新后该验证什么。

文章导航
1 5.3 分的漏洞,为什么要先修
如果只修高分漏洞,Cisco Secure Firewall Management Center 的 CVE-2026-20316 很容易留到后面。它只有 5.3 分,却已经被用于攻击:系统中的低权限静态账号能让远程调用者访问敏感数据。Cisco 还指出,攻击者可以把它与其他 FMC 漏洞组合提权,因此将公告严重性定为 High。分数描述的是一组给定条件下的后果,管理系统在你的环境里能做什么、攻击者是否已经在用这条路,还得单独看。
七月这批漏洞,我建议先处理已经被利用、而且在本地实际可达的管理接口、构建服务和公开站点,并同步检查受侵情况。Cisco FMC 要限制管理面并安装本分支热修复;TeamCity 要更新服务器,同时查构建配置、凭据和产物;受影响的 WordPress 站点要更新核心并检查暴露期间的改动。浏览器、内核和业务依赖继续按各自的更新安排推进。分支版本、临时措施与恢复限制放在下面的修复资料,方便直接核对自己的产品。
这个顺序来自同一批记录的比较。七月共公开 9,808 条 CVE 记录,原快照中仍有效的有 9,763 条;其中进入 CISA 已知利用目录 KEV 的数量,从 8 月 4 日的 14 条增至本次读取的 9 月 11 日目录中的 21 条。下文把评分固定在 8 月 4 日,检查当时会漏掉谁;修复资料则复核到 9 月 13 日 01:27(UTC+8)。这样既能重看当初的排序,也不会拿旧版本指导今天的更新。
排好先后只是开始。Gitea 修复后,无权用户的请求仍应成功,只是不再返回私有仓库字段;WordPress 要让两种输入形式经过同一套整数转换;ANGLE 则要记住已经切走、但仍在使用缓冲区的对象。接下来先看评分遗漏,再沿这三个补丁解释:为什么“已更新”和“问题确实修好”之间,还差一次针对性的检查。
按产品核对版本、临时措施与恢复限制(2026 年 9 月 13 日)
Cisco FMC 先限制管理面可达范围,再安装对应分支热修复。CVE-2026-20316 公告没有给出可以替代补丁的 workaround;网络限制只能缩小入口,也会影响远程管理。7.0、7.2、7.4、7.6、7.7、10.0 分支分别对应 GB-7.0.9.1-3、HL-7.2.11.1-4、HG-7.4.7.1-3、CY-7.6.5.1-2、AM-7.7.12.1-2、P-10.0.1.1-2,下载时按公告中的完整文件名匹配,不能跨分支安装。保留日志后运行下面的厂商检查命令;结果出现 /var/tmp/license.tmp 时联系 Cisco TAC 处理恢复。公告范围是 FMC,其他管理方式和产品应按其“不受影响”列表核对,不能把同品牌设备一起判成受影响。
zgrep "package_info.*license" /var/log/messages*
TeamCity 把服务器与构建产物一起纳入检查。CVE-2026-63077 通过 agent polling 协议影响 HTTP(S) 可达的本地部署,攻击者无需先登录,后果达到服务器进程权限。历史首修版本是 2025.11.7、2026.1.3;本次核对的当前发布包括 2026.2,以及旧分支更新 2025.11.8、2026.1.4。先沿现有受支持分支更新;选择新主版本时另外验证插件、数据库与构建兼容性。暂时不能升级的 2017.1+ 实例可按官方方式安装该漏洞的安全补丁插件,2017.1–2018.1 需要重启。插件只修这一项,外部访问限制在完成更新前继续保留。TeamCity Cloud 已由厂商处理,不要求租户安装本地补丁。
WordPress 当前默认目标是 7.1。官方下载页与更新接口均给出这一版本。CVE-2026-60137 的查询参数缺陷影响 6.8.0–6.8.5、6.9.0–6.9.4、7.0.0–7.0.1;历史首修分别为 6.8.6、6.9.5、7.0.2。另一个编号 CVE-2026-63030 描述从 6.9 起的 REST 批处理路由组合路径,两者范围不能混写。公开站点命中后先更新核心,检查插件和主题怎样传递作者筛选参数,并复核暴露期间的账号、文件和发布变更。临时关闭自定义入口或限制匿名批处理会损失对应功能,也覆盖不到所有插件调用,因此仍需要核心修复。
另外两类更新有明确、不同的验收重点。Gitea 的 Composer 源仓库信息问题 CVE-2026-27771 影响 1.26.1 及以前,1.26.2 首修,本次默认部署目标为1.27.3;需要检查软件包可见性与关联仓库权限组合。Chrome 的 ANGLE 问题 CVE-2026-14382 在 150.0.7871.46 划出修复边界;普通桌面 Stable 本次目标是 Linux 153.0.8010.36、Windows/macOS 153.0.8010.36 或 .37,按平台实际分发包安装并重启。使用 Extended Stable 的 Windows/macOS 企业环境,本次官方更新是 152.0.7977.120。浏览器内嵌组件需要由应用供应方确认所带 ANGLE,不能拿 Chrome 版本号判断所有嵌入式应用。
这三项源码修复各有一个关键变化。Gitea 在 createPackageMetadataResponse 返回关联仓库字段前补查请求者的仓库权限;WordPress 在 WP_Query::get_posts 拼查询前统一解析整数列表;ANGLE 让 Buffer 保留仍属于活动 transform feedback 的状态。它们都需要永久修复,后面分别解释上游测试检查什么。升级失败时,先维持入口限制或停用受影响功能;旧数据库、旧配置与程序的兼容性未核对前,不直接降级。本文没有证据指定一个适用于所有环境的“最老安全回滚版”;应保留已通过业务与安全回归、且仍受支持的恢复制品。
新增的七条 KEV 也要进入同一轮资产核对,包括 TeamCity CVE-2026-63077;vCenter CVE-2026-59310;SharePoint CVE-2026-55040;Linux 内核 CVE-2026-53362;LiteLLM CVE-2026-59822;Switchvox CVE-2026-9586;Artifactory CVE-2026-42016。它们连同先前 14 条的产品、加入日期与厂商入口都保存在本次比较附件的 current_kev.matched 中。匹配到产品后继续核对版本、启用组件和网络路径,不能把名单出现次数变成攻击概率。
TeamCity 的8 月补充公告给出两个值得区分的日志信号。com.thoughtworks.xstream.converters.ConversionException 需要继续调查可能的尝试或成功利用;完成修复后出现 com.thoughtworks.xstream.security.ForbiddenClassException,可表示补丁阻止了一次相关尝试。还应检查名称以 scan 开头等异常未授权 agent,但其界面日期不能直接作为攻击发生时间,应回到日志时间。若发现受侵迹象,接着检查构建配置、保存的凭据和已发布产物,单独证明服务升级无法替这些对象完成调查。
新增名单里的产品也有具体取舍。LiteLLM 的 MCP OAuth2 透传回退缺陷首修于 1.84.0,本次官方最新发布为 1.100.1;旧环境暂时无法更新时,按公告关闭或限制 MCP 路由,会同时中断依赖这些工具的工作流。恢复时既检查无效凭据不能建立有效会话,也检查授权工具调用仍可完成。Artifactory 的 CVE-2026-42016 涉及 token 的 scope 校验,7.133.11 是这项缺陷的首修边界,后续安全更新很多,不能停在这个版本就宣布整个平台安全;应使用对应分支的当前安全公告与发布页选定升级包。
vCenter CVE-2026-59310 影响 Syslog server 的路径处理,网络可达者可能执行代码。VMSA-2026-0006.2同时包含多个产品和漏洞,必须读到 3a/3b 的对应矩阵。其列出的修复有 9.1.0.0300、9.0.2.0100、8.0 U3k,以及 8.0 U2f express patch;VCF 5.x 使用相应异步补丁流程,7.0 需有扩展支持合同并联系厂商。它没有给 workaround。不要把同页 ESX 补丁装成 vCenter 修复,也不要跨过套件兼容流程直接替换组件。这里引用的是当前公告中的修复选择,实际部署仍需核对所用套件支持的最新累计版本。
2 两种评分分别漏掉了谁
先比较两种筛选方法。对同一批 9,763 条记录,分别取最高保留 CVSS 不低于 9,以及 EPSS 不低于 0.10,再看它们覆盖多少条同日 KEV。这里的阈值是本文选来比较的两个切点,不是给所有公司的默认策略。CVSS 使用各来源保留分数的最大值,包含不同版本的 CVSS;它能复现旧账本的排序,却不能统一署名为“NVD 评分”。EPSS 则采用 2026 年 8 月 4 日的分数。FIRST 的定义是未来 30 天在野利用的概率估计,每天更新。
| 选择规则 | 选中记录 | 覆盖 KEV | 遗漏 KEV |
|---|---|---|---|
| CVSS ≥ 9 | 1,447 | 10 | 4 |
| CVSS ≥ 7 | 5,741 | 13 | 1 |
| EPSS ≥ 0.01 | 215 | 12 | 2 |
| EPSS ≥ 0.10 | 22 | 9 | 5 |
CVSS ≥ 9 留下的四个空缺是 DD-WRT CVE-2021-27137、SonicWall CVE-2026-15410、Cisco FMC CVE-2026-20316、Microsoft CVE-2026-56155。把门槛降到 7,选集扩大到 5,741 条,Cisco 仍然在外面。EPSS ≥ 0.10 漏掉的是 Arista CVE-2026-16812、Cisco FMC CVE-2026-20316、Microsoft CVE-2026-56155 与 CVE-2026-58644,以及 Langflow CVE-2026-9198。即使降到 0.01,Arista 与 Cisco 依然未被选中。这意味着已知利用信息需要直接参与处置,不能再附加一个分数门槛才允许它进入紧急队列。
两个较高阈值的选集有 16 条交集,合并后为 1,453 条,覆盖历史 KEV 的 12 条,仍漏掉 Cisco FMC CVE-2026-20316 和 Microsoft CVE-2026-56155。多加一个评分选集,只比 CVSS 单独选集多出六条。附件还给出前 14、22、100、500、1,447 条的等数量排序。取前 100 条时,CVSS 覆盖三个历史 KEV,EPSS 覆盖十二个。CVSS 的前百切点是 9.9 分,共有 102 条并列,程序用编号字典序选择其中一部分;这些并列记录没有 KEV,更高分的 89 条包含三个 KEV,因此改变并列顺序会换掉部分入选者,却不会改变这里的三条覆盖数。没有资产与处理成本数据,不能把“同样一百个编号”叫作“相同预算”,更不能据此声称节约了多少工时。
这次比较的结果很明确。在这一天的队列里,两种分数单独使用都会排除已经有利用记录的对象,EPSS 能以较短选集覆盖其中较多项。它们没有测出下一月预测准确率。KEV 是已确认利用的目录,未收录记录的实际利用状态并不完整;同日 EPSS 又可能已经吸收了相关公开信号。要测预测,应先冻结分数,再观察此后的 30 天,并处理观测来源的覆盖偏差。本次新增的七条 KEV 是后续登记变化,也不等于七次攻击都发生在分数冻结之后。
WordPress 还说明了一个分数背后的条件问题。CVE-2026-60137 的 CNA 给出 CVSS 3.1 的 5.9,CISA ADP 给出 9.1,NVD 当前记录同时保留这两行来源。前者向量采用较高攻击复杂度和机密性影响,后者采用较低复杂度并包含完整性影响。真正影响站点处理顺序的,是本地是否有入口把外部参数交给查询,以及是否存在另一项 REST 路由组合条件。分数差异值得调查,不能通过挑较大或较小的一行把这些条件省掉。
3 Gitea 软件包响应里的仓库权限
设想一个普通的依赖安装过程。开发者有权读取团队发布的软件包,但没有权限访问制作这个包的私有仓库。Gitea 的 Composer 接口需要返回版本、下载地址等元数据;如果软件包关联了仓库,响应还可以带上 source.url、source.type、source.reference。漏洞就发生在增加这组字段时。读取软件包所需的权限已经满足,程序却没有继续核对关联仓库是否也应对这个请求者可见。这是两个资源之间的权限传递错误,实际可核对的后果是仓库地址、类型与版本引用暴露。
沿调用过程看,PackageMetadata 第 126–155 行从路径取得软件包名,查版本,再取得包含关联仓库的 descriptor,交给 createPackageMetadataResponse,最后通过 ctx.JSON 返回。修复前的api.go 第 118–130 行只检查 pd.Repository != nil,随后把仓库的 HTMLURL()、固定的 git 类型与软件包版本放进 Source。对象存在这一条件,只能说明程序找到了仓库,无法回答调用者是否有权看到它。

左右滑动查看图中说明。
source.url、source.type、source.reference 三个字段留空。纸上的字段用于示意,不是原始 JSON 响应。修复提交 5d87a70把请求上下文传入响应构造函数,再调用 GetDoerRepoPermission(ctx, pd.Repository, ctx.Doer)。权限查询失败时记日志;只有 HasAnyUnitAccessOrPublicAccess() 为真才填入 Source。这个条件包括任一仓库单元的访问权,或符合公开访问条件;它没有把授权范围收窄到源码读取。其余软件包字段仍按原流程构造,因而客户端可以继续读取允许访问的包。
这也决定了验收不能只盯 HTTP 状态码。上游第 249–275 行回归测试把软件包关联到私有仓库,先用有权用户获取响应,检查 URL、类型和引用都保留;再换无权用户,仍预期 HTTP 200,但三个字段全部为空。把后一请求变成 403,也许阻止了信息暴露,却可能破坏原本允许的软件包读取。一个合格修复需要同时保住权限限制和正常依赖安装。
在实际 Gitea 部署中,先找出使用 Composer 仓库关联的包,按有权、无权两种账号复查这三项字段,再测试正常下载。需要临时缩小暴露时,可限制相应软件包接口的调用范围或暂时取消敏感仓库关联;这会改变消费者获得的信息,需与包维护者确认。本文从源码和上游断言确认了返回信息的变化,没有运行完整 Gitea 集成环境,也没有证明无权用户因此能够克隆私有代码。若元数据中包含内部地址或命名信息,应按实际暴露内容处理,而不直接宣告源码失窃。
这个案例还改变了“七月新漏洞”的理解。对应修复在 5 月合并,1.26.2 的安全公告在 6 月发布,CVE Program 到 7 月 3 日公开该记录。七月队列因此包含已经有补丁一段时间的问题。补丁检查应直接看运行版本与对应权限行为,不能从月报日期推算系统只暴露了一个月。
4 WordPress 字符串跳过了整数转换
WP_Query 是 WordPress 构造内容查询的核心类,author__not_in 用于排除指定作者。调用方要排除作者 3 和 7,可以把值作为数组 [3, 7] 或字符串 "3,7" 传入。正常值最后可能形成相同的 SQL,测试页面看起来也一样;它们经过的安全处理却不同。数组的每个成员会被转成非负整数,字符串则跳过这一分支,在末尾被强制转换成一个单元素数组,再拼进查询。
这个差别可以在修复前第 2399–2406 行直接看到。is_array 限定了 array_map('absint', ...) 的执行条件,后面的 implode 却接受强制转换后的所有值。字符串如果携带 SQL 语法,它仍以文本形式进入 NOT IN (...)。下面是原分支的简短节选,省略了排序与其他查询条件;它用于解释类型分叉,不是一段可独立运行的漏洞测试。
if ( is_array( $query_vars['author__not_in'] ) ) {
// array_map( 'absint', ... )
}
$author__not_in = implode( ',', (array) $query_vars['author__not_in'] );
后果还要沿着字符串走到消费者。在同一类中,$where 加入完整 SELECT 的 WHERE 部分并写入 $this->request;查询分支再通过$wpdb->get_col 或 get_results执行。危险条件是可控制输入抵达了这个查询构造过程。仅仅安装了一个有缺陷的函数,尚不足以说明任意匿名 HTTP 请求都能调用它;插件、主题或其他核心路径怎样传参,需要继续查调用者。

左右滑动查看图中说明。
wp_parse_id_list。图中的普通数字是解释用输入。7.0 分支修复 74d37a3把入口收敛到 wp_parse_id_list。它先由wp_parse_list 拆分逗号或空白分隔的字符串,并筛掉数组中的非标量成员,然后统一对成员执行 absint 和去重。调用方确认列表非空后排序、拼接整数,同时把规范化结果写回查询变量。这次修复还维持了等价查询的稳定表示,有助于避免同一组 ID 因输入顺序或重复值形成不同的查询状态。
修复后的函数采用转换语义,不能把它描述成严格的“非数字全部拒绝”。例如负数会被取绝对值,数字前缀字符串的结果取决于 PHP 整数转换;上层业务若需要拒绝非法作者 ID,仍应在自己的接口检查。回归应同时覆盖数组、逗号字符串、空白分隔、重复项、空列表和混合成员,检查最终查询只包含预期整数,再确认合法查询返回相同内容。用一组攻击字符串得到错误页面,只能说明那一次请求失败;它可能根本没走到这个分支。
已知利用让这项核心更新进入前列,而两项漏洞的组合条件决定调查范围。另一个官方公告说明 REST 批处理路由解释冲突与查询缺陷可以组合成代码执行。这里深入追踪的是 SQL 构造补丁,未重新实现完整组合利用链。站点维护者应检查实际开放的 REST 路由与自定义查询入口;开发者则要检查所有接受 author__not_in 的封装,确保类型转换、权限与业务合法性各自有明确位置。
因此,恢复一个 WordPress 站点至少有两件独立的事。核心程序达到当前支持版本并通过相关业务查询回归;曾经暴露的实例完成文件、账号和发布记录检查。更新包可以修复查询构造,已经被改写的主题、植入的文件或盗取的凭据需要另行处置。7.0.2 只记录这次历史首修;随后 7.0.3、7.0.4 又发布安全更新,现在官方默认已经是 7.1,恢复介质也应跟上。
5 ANGLE 暂停后的缓冲区仍在使用
ANGLE 将图形 API 调用转换为不同平台的图形后端操作。这里涉及的 transform feedback 会把着色器产生的数据写入缓冲区。程序可以开始记录、暂停、切换当前对象,再恢复记录;暂停期间对象仍处于活动生命周期,绑定的输出缓冲区仍被它使用。旧检查过多依赖“当前选中对象”的绑定状态,导致另一个仍活动、但已不在当前上下文中的对象被遗漏。这属于对象状态管理问题,公开公告把其潜在影响列为沙箱逃逸。
补丁新增测试给出了具体顺序。TF1 进入活动状态,以 B 为输出缓冲区,随后暂停;程序选中 TF2,再把同一个 B 绑定到 GL_ARRAY_BUFFER。这个操作没有结束 TF1,B 与 TF1 的活动关系仍在。如果接下来的校验只看 TF2,便可能放行对 B 的重新分配、写入或映射。最关键的一步就是“当前对象换了,但旧对象的使用关系仍然存在”。检查 buffer 的长度或绑定目标都不足以恢复这项信息。
修复提交 ee21230同时链接公开记录中的 issue 492218546,并把活动计数放到 Buffer。TransformFeedback.cpp 第 139–207 行显示,begin 对所绑定的缓冲区增加活动计数,end 才减少;pause 仅改变暂停标志。Buffer.h 第 193–214 行把原有同时绑定冲突与活动计数检查合并。因此,即便 TF1 不再是当前对象,B 仍能回答自己是否被活动记录使用。

左右滑动查看图中说明。
GL_INVALID_OPERATION 表示该操作在当前状态下不合法。新的状态要被实际入口消费才有作用。validationES2.cpp 第 3685–3709 行在取得待操作缓冲区后,对 WebGL 或 hardened context 调用 hasTFBBindingConflict(),冲突时返回 GL_INVALID_OPERATION。补丁同时修改了 BufferSubData、映射、复制和多个其他消费者,避免只有一种修改方式读取新状态。与之对照,父提交的校验仍依赖旧绑定冲突检查。修复把活动关系记在缓冲区上,再让各个修改入口读取这项状态。
上游新增 TransformFeedbackBufferModificationWhileNotCurrent,按 TF1 开始、暂停、绑定 TF2 的顺序,检查 glBufferData、glBufferSubData、glMapBufferRange 都得到预期错误。另一个ChangeBufferWhilePaused 测试保留了正常开始与绘制,拒绝暂停时修改,再确认恢复后的绘制能够继续。前者检查绕过当前对象的路径,后者保护合法生命周期,两者承担不同工作。
这是源码与上游回归断言的分析,本次没有运行完整 ANGLE 图形后端,也没有复现沙箱逃逸。Chrome 公告给出的受影响边界为 150.0.7871.46 以前,Chromium 严重性为 High;当前 CVE/NVD 数据中的 9.6 分来自 CISA ADP。企业客户端应该完成对应渠道的浏览器更新和重启,并检查仍在线的旧进程。若暂时停用 WebGL 来减小图形入口,需要验证策略确实作用于目标应用,并接受三维可视化等功能受损;这一措施不能覆盖该应用的所有本地图形使用方式。
这项 bug 对自研程序更直接的启发是,只在当前句柄或当前请求上保存限制,可能遗漏仍在后台存活的对象。检查异步任务、缓存、文件映射和图形资源时,应问活动关系由谁持有、在哪一步撤销、所有消费者是否读取同一状态。这里可以迁移的是审查问题与状态测试方法;不能因为另一个系统也有暂停或切换功能,就认定它存在相同漏洞。
6 记录怎样分组,会改变你看到的结论
按原始账本归类,三类问题占全部有效记录的 61.8%,分别是权限与对象绑定 2,449 条,内存与生命周期 1,817 条,解释器边界 1,770 条。这些数来自记录级归类,计算没有变;但据此建议组织优先投入哪一类工程改造,依据不足。只移除 Oracle 的 1,108 条记录,剩余 8,655 条的前三名就变成内存 1,817、解释器 1,761、权限 1,615。权限类从第一降到第三。一个发布方的样本组成已经足以改变排名,全年研发预算显然还需要本地代码、资产、缺陷与事故数据。
按记录里明确的厂商与产品组合复算,也能看到差异。Linux 837 条中,内存类 443 条、状态与时序 207 条;Chrome 487 条中,内存类 187 条、请求与网络信任 132 条。一个 CVE 可同时提及多个 Windows 版本,因此产品分组之间重叠,不能把每组数量相加后称为独立漏洞总数。附件保留确切产品标签和组内类别计数,没有把别名自动归一成我们无法验证的资产。它适合帮助读者选取与自身技术栈相关的部分,再去阅读具体原因。
补丁批次还需要更强的关联证据。WordPress 的两个编号共同进入 7.0.2 核心发布,这一组可以在该分支合并为一个更新动作,同时保留各自受影响条件。只做这项经过公告确认的归并,历史 KEV 从 14 个编号变成 13 个分组;CVSS ≥ 9 覆盖 9 组,EPSS ≥ 0.10 覆盖 8 组,原来遗漏的四项与五项保持不变。我们没有把其余 9,761 条强行配对,因而这个结果只检查一组可靠关系,无法估算全月实际变更单数量。
Oracle 的季度 CPU 则是更新计划入口。七月 21 日队列里有 1,097 条 Oracle 记录引用它,但涉及众多产品、组件、分支和安装包;同一份季度公告不足以证明它们只需要一次安装。当前七月 CPU 页面列出 1,448 个新安全补丁,旧稿曾记录 1,449,本次正文采用当前页面,v1 原始快照保持不动。读者应沿自己产品的风险矩阵和补丁可用性文档核对。两个 Coherence 编号即使描述相同,也只能说明公开文本相似,无法据此合并为同一个根因。
这一分组问题与早期实证研究中的困难相通。The Attack of the Clones区分共享代码、受影响版本和实际安装状态;Allodi 的漏洞交易研究也区分编号、利用条目和共享工具包。本文采用的是这种“先确认观测单位”的方法,没有借用这些历史样本的效果量。SOSEC 能测量公开记录及其关系,企业真正的修复负担还取决于一份更新要覆盖多少实例、停机代价、兼容性和回滚约束。
收录时钟同样影响数量。本文按 CVE Program 的 datePublished,取 UTC 2026 年 7 月 1 日零时至 8 月 1 日零时之前的记录,固定在提交 a373dbeddf97334f61e32d748cc24096303612ab。编号中的年份可以对应编号分配或公开的年份,不能直接当成记录里的预留日期;七月有效记录有 236 个编号早于 2026 年,按 CVE-2026-* 抓取会漏掉它们。NVD 同窗接收口径曾得到 9,919 条,多出 111 条,旧账本分析确认其 CVE Program 公开时间在七月之外。公开、接收、补丁发布、实际利用是不同事件,日历上的相近也不自动构成因果。
最后需要把“读过”说准确。v1 保存全部记录的字段复核和 9,763 条原因归类,其中 377 条另有一手公告、补丁或源码深查标记;只有 15 条被标为 SOURCE_TRACED,5,084 条为 SPECIFIC_RECORD,2,573 条为 DESCRIPTION_SPECIFIC,1,808 条为 BROAD_RECORD,283 条未确定。类别标签反映当时材料和审阅判断,不代表每项都完成了源码根因验证。本次新增三个详细源码案例、分组复算与当前状态复核,没有把旧标签整体升级。354 条缺少 CVSS 的记录也继续保留,缺值不按零分处理。
7 更新之后,检查什么
假如你同时维护公网 TeamCity、带自定义作者筛选的 WordPress,以及供内部开发者使用的 Gitea,三者都需要更新,但恢复工作的重点不同。TeamCity 要查构建权限和产物是否被改动;WordPress 要找出外部输入抵达查询的路径,并检查站点文件与账号;Gitea 要比较不同账号得到的 source 字段,同时确认依赖仍能正常安装。内部部署会改变可达范围,不会自动消除其中的权限错误。
对三项源码案例,最小验收分别是同一个包的有权与无权访问保留不同字段;同一组作者 ID 的不同输入形式经过统一整数规范化且业务结果正确;在 WebGL 或 hardened context 中,活动、暂停、切换对象后的缓冲区修改被拒绝,合法恢复继续工作。前两项适合应用维护者在授权测试环境执行,ANGLE 的源码回归适合浏览器或嵌入式图形组件维护者。普通客户端管理员以受支持渠道、包身份、重新启动后的实际版本及业务页面回归验收,不需要向公网发送漏洞请求。
这批记录里,Cisco 的 5.3 分最值得记住:只按高分筛选,连已经被利用的管理入口都可能漏掉。把已知利用和本地可达性放进修复顺序,再用具体机制决定验收内容,才能知道一次更新解决了什么。余下的兼容性、受侵范围和恢复路径,需要在自己的系统上查清;它们决定何时可以恢复业务,也决定哪些调查还不能结束。
复算数据、脚本与未完成的检查
复算材料分为两个版本。原始 v1 账本保留模式 sosec.july-2026-cve-census.v1,原观察截止为 2026-08-05T13:52:42+08:00,字节 SHA-256 仍为 4a1dc999f6f4bee4d5257d46fe32f984039f51765e551c09b3c34653cde40574;v2 比较保存选集成员、交并集、并列处理、产品分组、发布方敏感性与 9 月 KEV。计算脚本与 v1、固定 KEV 输入下载到同一目录后,运行 node analyze-july-cve.mjs result.json 即可复算。脚本不联网,v2 同时保留输入来源与摘要,后续目录变化不要覆盖这次结果。
本次核对了三个源码案例的当前 CNA、NVD 记录、官方发布及固定补丁。NVD 的变更历史接口当次返回 404,详情页未提供可读取的历史正文,因此这里不根据其历史富化状态推导趋势。完整 Gitea、WordPress 和 ANGLE 产品测试未在本次运行;正文引用的上游断言与我们的源码推导均按此边界表述。没有本地资产、停机成本和私有事件记录,也就不计算企业风险降低比例。读者可以独立复算公开选集,现场验收还需要自己的实例和业务控制。
研究依据
研究依据保留 v1 的 9,808 条七月公开记录及 2026-08-05T13:52:42+08:00 观察截止时间;统计使用当时 9,763 条 PUBLISHED 记录、8 月 4 日 EPSS 和 KEV。2026 年 9 月 12 日修订另存 v2 比较,补充 9 月 11 日 KEV、当前厂商发布信息,并深入读取 Gitea、WordPress、ANGLE 的固定源码、补丁和上游测试。全量记录归类、377 条历史一手深查与源码分析分别计数;未对全部产品进行动态利用,未测量企业资产风险或修复成本。
来源CVE Program 七月固定队列 / CISA KEV 2026.08.04 与 2026.09.11 / FIRST EPSS / 厂商公告、固定源码与回归测试 / SOSEC 重新计算
证据置信度 高
8证据与来源
8.1时间线
- 收录窗口开始
按 CVE Program 的 UTC 公开日期收录。
- WordPress 核心安全更新
7.0.2 修复查询参数问题与组合路径;各历史分支范围另列。
- 历史评分与利用目录固定
KEV 交集 14 条,EPSS 使用当天分数。
- 后续 KEV 交集扩大
2026.09.11 版目录包含七月队列中的 21 条。
- 评分并集仍有遗漏
两项高阈值选集覆盖 12 条历史 KEV,仍漏掉 Cisco FMC 与 Microsoft 各一项。
8.2来源与材料
- 七月原始记录账本 v1https://sosec.io/static/research/july-2026-cve-census-v1.json
- 选集、分组与当前 KEV 比较 v2https://sosec.io/static/research/july-2026-cve-comparison-v2.json
- 固定 CVE Program 队列https://github.com/CVEProject/cvelistV5/tree/a373dbeddf97334f61e32d748cc24096303612ab
- FIRST EPSS 定义https://www.first.org/epss/
- CISA 官方 KEV 数据https://github.com/cisagov/kev-data
- Cisco FMC 公告与热修复https://sec.cloudapps.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-fmc-static-cred-BET3Cjh
- TeamCity 初始公告与补丁插件https://blog.jetbrains.com/teamcity/2026/07/cve-2026-63077/
- TeamCity 利用调查补充https://blog.jetbrains.com/teamcity/2026/08/cve-2026-63077-update/
- TeamCity 当前各分支发布https://blog.jetbrains.com/teamcity/2026/09/teamcity-20262/
- Gitea 固定修复及测试https://github.com/go-gitea/gitea/commit/5d87a70af929dba47402fbea7d59f34e5913b3b4
- Gitea 1.27.3https://github.com/go-gitea/gitea/releases/tag/v1.27.3
- WordPress 查询缺陷公告https://github.com/WordPress/wordpress-develop/security/advisories/GHSA-fpp7-x2x2-2mjf
- WordPress 组合路径公告https://github.com/WordPress/wordpress-develop/security/advisories/GHSA-ff9f-jf42-662q
- WordPress 固定修复https://github.com/WordPress/wordpress-develop/commit/74d37a344cbf28e9187a1a5ca71b33d186bcd333
- WordPress 当前下载https://wordpress.org/download/
- ANGLE 固定修复及回归测试https://chromium.googlesource.com/angle/angle/+/ee21230bc87855404b87b97b738091cd04b0d3f3
- Chrome 当前普通 Stablehttps://chromereleases.googleblog.com/2026/09/stable-channel-update-for-desktop_0808145027.html
- Chrome 当前 Extended Stablehttps://chromereleases.googleblog.com/2026/09/extended-stable-update-for-desktop.html
- Oracle 七月 CPU 当前页面https://www.oracle.com/security-alerts/cpujul2026.html
- The Attack of the Clones,IEEE S&P 2015https://users.umiacs.umd.edu/~tudor/papers/OAKLAND-2015.pdf
- Economic Factors of Vulnerability Trade and Exploitation,CCS 2017https://arxiv.org/pdf/1708.04866