紧急安全更新丨关于sudo时间窗口授权绕过漏洞的修复方案(CVE-2026-96512)

紧急安全更新丨关于sudo时间窗口授权绕过漏洞的修复方案(CVE-2026-96512)

图片

近期,统信安全应急响应中心(USRC)监控到 sudo 存在一个高危时间窗口授权绕过漏洞。

鉴于其严重性和广泛影响,统信软件建议广大客户根据 USRC 提供的漏洞修复解决方案进行防护,以确保桌面、服务器操作系统安全。

漏洞简介

漏洞编号:CVE-2026-96512

漏洞描述:该漏洞源于 sudo 对 sudoers 规则中基于时间的访问限制(NOTBEFORE / NOTAFTER)的授权校验缺陷(CWE-863)。当规则中的时间戳未带 UTC 后缀 Z 时,sudo 使用 mktime() 解析该时间,而 mktime() 会读取调用进程的 TZ 环境变量,使时间窗口评估受调用者控制。本地普通用户在被此类时间窗口规则授权时,可通过将 TZ 设置为极端时区偏移(如 UTC+14),使时间窗口前后偏移最多约 25 小时,令已过期或尚未生效的规则被误判为有效,从而在预期时段之外执行原本不应被允许的 sudo 命令,实现本地提权至 root。该漏洞于 2026-09-23 经公开渠道披露(Red Hat 安全公告、oss-security),影响 sudo 1.8.20 至 1.9.17p2 及 main 分支修复前版本;上游修复提交为 1820a34(移除 sudo 工作环境中的 TZ 环境变量)。

漏洞等级:高危(CVSS 7.8)

利用条件:

1. sudoers 中存在对攻击者生效的 NOTBEFORE 或 NOTAFTER 时间窗口规则,且时间戳未带 UTC 后缀 Z(默认配置通常不含此类规则);

2. 攻击者为该规则的授权对象,具备本地已认证用户权限;

3. 攻击者可在调用 sudo 时控制 TZ 环境变量。

受影响版本范围:

漏洞修复方案

统信 UOS 已完成漏洞补丁修复与适配验证工作,建议通过系统更新或 USRC 安全公告页面获取对应系统版本的 sudo 安全更新,并升级至安全版本以修复漏洞。

安全公告地址:https://src.uniontech.com/,补丁发布后可根据漏洞编号
“CVE-2026-96512”搜索漏洞信息,选择对应操作系统版本、系统子版本和系统架构下载并安装补丁包。

◉ 外网在线升级修复步骤

1. 统信 UOS 桌面版

  • 控制中心—更新—更新设置—打开系统更新、安全更新

图片
  • 点击“检查更新”—“全部下载”

图片
  • 点击“立即安装”

图片
图片
  • 安装完毕点击“立即重启”

图片

2. 统信 UOS V20 服务器版

可执行以下命令更新 sudo:

sudo apt update && sudo apt install sudo

更新完成后无需重启系统,下次执行 sudo 命令时即使用修复后版本。

3. 统信 UOS V25 服务器版

可执行以下命令更新 sudo:

sudo dnf update sudo
◉ 内网离线补丁修复步骤

离线补丁下载地址:

https://src.uniontech.com/

根据漏洞编号 CVE-2026-96512 搜索漏洞信息,选择对应的操作系统版本,点击“详情”,选择对应的“系统子版本”和“系统架构”,下载并安装补丁包。

图片

1. 桌面专业版离线补丁安装

在 USRC 下载对应架构的离线补丁升级工具。

图片

双击离线补丁升级工具安装包,需要添加执行权限,点击“运行”。

再次双击离线补丁升级工具安装包,需要输入用户密码,点击“确定”。

勾选“我已阅读并知晓”,点击“开始升级”。升级后会自动重启系统,勾选“我已知晓并确认继续升级”,然后点击“继续升级”。

图片

💡注意:

升级过程中,会先备份系统,请勿强制关机或断电,否则可能会导致系统损坏。

图片

2. 服务器版离线补丁安装

将下载的 sudo 补丁包放入空文件夹中,然后执行以下命令安装补丁。

统信 UOS V20 服务器版:

sudo dpkg -i *.deb

统信 UOS V25 服务器版:

sudo dnf install ./*.rpm

安装完成后无需重启系统,下次执行 sudo 命令时即使用修复后版本。

◉ 修复验证

执行 sudo –version 命令查看当前 sudo 版本,并与 USRC 公告中 CVE-2026-96512 对应系统版本的修复版本进行比对。若当前版本不低于 USRC 上的修复版本,则漏洞已修复,否则漏洞未修复。也可通过包管理器查看 sudo 包版本(deb 系执行 dpkg -l sudo,rpm 系执行 rpm -q sudo),同时建议复查 sudoers 中是否仍存在未带 UTC 后缀 Z 的时间窗口规则。

◉ 临时方案

1. 为时间窗口时间戳补充 UTC 后缀

将 sudoers 中所有 NOTBEFORE / NOTAFTER 时间戳改为带尾缀 Z 的 UTC 写法,使其按 UTC 解释、不再受调用者 TZ 影响,属可逆的配置变更。编辑时使用 visudo(避免语法错误导致无法使用 sudo),保存前执行 sudo visudo -c 校验:

sudo visudo -c

修改前(时间戳无 Z,可被平移时区绕过):

ops ALL=(root) NOPASSWD: NOTBEFORE=20260901000000 NOTAFTER=20261001000000 /usr/bin/systemctl restart app

修改后(时间戳补 Z,按 UTC 解释):

ops ALL=(root) NOPASSWD: NOTBEFORE=20260901000000Z NOTAFTER=20261001000000Z /usr/bin/systemctl restart app

2. 收窄时间窗口规则的适用范围

如业务允许,将带时间窗口的规则限定到具体用户与具体命令,减小时间窗口被误判为有效时的实际影响面。

请关注安全公告,并及时安装补丁。

图片

内容来源:安全技术部

编辑审校:公共事务部

图片