IPBUF安全漏洞报告
English
CVE-2025-14104 CVSS 6.1 中危

CVE-2025-14104: util-linux setpwnam()函数256字节用户名堆缓冲区越界读取漏洞

披露日期: 2025-12-05

漏洞信息

漏洞编号
CVE-2025-14104
漏洞类型
缓冲区溢出-堆缓冲区越界读取
CVSS评分
6.1 中危
攻击向量
本地 (AV:L)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
util-linux (login-utils组件)

相关标签

CVE-2025-14104缓冲区溢出堆缓冲区越界读取util-linuxlogin-utilssetpwnamSUID本地提权Red HatLinux

漏洞概述

CVE-2025-14104是util-linux软件包中的一个中危安全漏洞,CVSS评分6.1。该漏洞存在于处理用户信息的setpwnam()函数中,当系统尝试处理恰好256字节长度的用户名时,会触发堆缓冲区越界读取(Heap Buffer Overread)漏洞。此漏洞影响所有使用SUID权限运行的login-utils工具,这些工具负责向系统密码数据库(/etc/passwd等)写入用户信息。由于SUID工具以root权限运行,攻击者可能利用此漏洞在特定条件下实现本地权限提升或敏感信息泄露。漏洞的可用性影响评级为高,攻击成功后可能导致系统服务中断或拒绝服务。

技术细节

该漏洞的核心问题在于util-linux的login-utils组件中的setpwnam()函数对用户名的长度处理存在边界检查缺陷。当用户名长度达到256字节时,函数在访问堆内存时会发生越界读取。具体技术细节如下:

1. **漏洞函数**: setpwnam() - 负责解析和处理用户名信息
2. **触发条件**: 用户名长度 == 256字节
3. **漏洞类型**: Heap Buffer Overread (堆缓冲区越界读取)
4. **受影响组件**: SUID login-utils utilities (passwd, useradd, usermod等)
5. **攻击向量**: 本地攻击,需要低权限账户
6. **内存安全问题**: 函数未正确验证256字节边界,导致读取超出分配缓冲区的内存

攻击者可通过创建具有256字节用户名的账户或修改现有用户名为该长度来触发漏洞。虽然完整性影响为无,但机密性影响为低,且可用性影响为高,意味着可能造成信息泄露或服务中断。

攻击链分析

STEP 1
步骤1
攻击者获取系统低权限账户访问权限
STEP 2
步骤2
构造恰好256字节长度的用户名字符串
STEP 3
步骤3
利用SUID login-utils工具(如useradd/passwd)处理该用户名
STEP 4
步骤4
触发setpwnam()函数中的堆缓冲区越界读取
STEP 5
步骤5
读取超出堆缓冲区的敏感内存数据或导致服务中断

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/bin/bash # CVE-2025-14104 PoC - Heap Buffer Overread in util-linux setpwnam() # Trigger condition: Username with exactly 256 bytes # Requirements: Low-privilege account, SUID login-utils utilities # Generate 256-byte username USERNAME=$(python3 -c "print('a' * 256)") # Attempt to create user with 256-byte username # This will trigger setpwnam() heap buffer overread useradd -m "$USERNAME" 2>/dev/null # Alternative trigger via passwd command manipulation # Create a user entry with 256-byte username in /etc/passwd format # Then attempt modification with usermod # For demonstration - check if vulnerable version is installed echo "Checking util-linux version..." getent passwd | head -1 # Note: This PoC demonstrates the trigger condition # Actual exploitation requires specific memory layout conditions echo "PoC for CVE-2025-14104: 256-byte username trigger ready"

影响范围

util-linux < 修复版本
所有运行SUID login-utils的Linux发行版可能受影响

防御指南

临时缓解措施
在官方补丁发布前,可采取以下临时缓解措施:1) 审计并限制对useradd、usermod、passwd等SUID login-utils工具的访问;2) 使用auditd监控这些工具的调用行为;3) 实施用户创建和修改的审批流程;4) 考虑使用容器隔离高风险操作;5) 定期检查系统账户列表,及时发现异常用户名。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表