CVE-2026-102474 dash 越界写入漏洞
影响本地用户可触发一至两字节越界写入
CVE-2026-102474 是 dash shell 中 printf 内建命令的越界写入漏洞。printf 在处理 Unicode 的 u 或 U 转义时预留了四个字节,但多字节 token 实际可能需要五到六字节,导致写入超出预留缓冲区一至两字节。
影响范围
受影响的是 dash shell 的 printf 内建命令及 echo %b 处理逻辑,具体受影响版本范围暂无公开信息。
漏洞详情
漏洞类型为缓冲区越界写入。成因是 printf 内建命令在转换 Unicode u/U 转义前仅预留四个字节,而多字节 token 最多需要五到六字节,造成一至两字节的越界写。本地用户可通过 dash -c 或位置参数向 printf 或 echo %b 提供此类转义来触发。
利用条件与风险
利用前提是攻击者能在本地向 dash 的 printf 或 echo %b 传入特制 Unicode 转义,属于本地攻击面。CVSS 4 分(MEDIUM),实战中通常需要结合其他条件才能造成实质危害。
修复建议
官方修复方案暂无公开信息,建议关注 dash 项目后续补丁并及时升级;临时缓解措施为限制不可信输入传入 printf 或 echo %b 的 Unicode 转义。
A flaw was found in dash. The printf builtin reserves four bytes before converting a Unicode u or U escape, but the multi-byte token can need five or six bytes. A local user who can supply such an escape to dash printf or echo %b, including through dash -c and a positional argument, can write one or two bytes past that reservation.