几天前,有消息称 有关安全审计的信息 揭示了流行终端多路复用器中的五个严重漏洞 GNU屏幕,用于管理单个终端上的多个控制台会话。
其中之一(CVE-2025-23395,最危险的漏洞) 允许攻击者获得 root 权限 在受影响的系统上(该漏洞仅影响 GNU Screen 5.0.0 版本),包括 Fedora、Arch Linux、NetBSD 等发行版。然而,Debian、Ubuntu 和 RHEL 等其他版本仍然使用 4.x 分支,因此不易受到此特定漏洞的影响。
CVE-2025-23395:严重权限提升
提到问题发生 当 GNU Screen 使用 setuid root 位运行时 (Arch 和 NetBSD 的情况),因为并且在降低权限之前执行 logfile_reopen() 函数,它允许用户操纵注册表以 root 身份写入任意文件。在一个典型的农场里,攻击者删除原始日志文件并将其替换为符号链接。 到系统文件。当您重新打开该文件时,Screen 会以 root 权限写入该文件,从而允许恶意内容进入。
当使用 setuid-root 权限运行时,此问题会影响 Screen 5.0.0。当对用户提供的路径进行操作时,logfile_reopen() 函数不会删除权限。这允许非特权用户在任意位置创建具有 root 所有权、调用用户的(真实)组所有权和文件模式 0644 的文件。写入 Screen PTY 的所有数据都将记录到此文件中。现有文件也可以通过这种方式进行注册:数据将附加到相关文件中,但文件模式和所有权将保持不变。
这次袭击 如果利用得当,可以完全控制系统, 因为它允许您修改敏感文件或更改启动脚本。 Fedora 受到部分保护,因为 Screen 安装了 setgid 位,从而限制了攻击面。
其他相关漏洞
此次审计由 SUSE Linux 安全团队进行,还发现了其他重要故障:
- CVE-2025-46802: 在多用户会话中,攻击者可以获得对 TTY 设备(例如 /dev/pts/1)的全局读写权限,从而影响 4.x 和 5.x 分支。
- CVE-2025-46803: 5.0 分支在 PTY 设备上设置了不安全的权限(0622),允许任何用户写入。
- CVE-2025-46804: 信息泄露导致在定义 SCREENDIR 变量时使用错误消息推断文件或目录的存在。
- CVE-2025-46805: 发送 SIGCONT 和 SIGHUP 信号时的竞争条件可能会导致拒绝服务。
还检测到了 strncpy 的滥用,这会在执行具有特殊格式的命令时导致崩溃,这是 5.0 分支独有的问题。
SUSE 缺乏维护和支持
这些漏洞的发现暴露了 GNU Screen 维护中更深层次的问题。据 SUSE 团队称, 当前项目维护者并不完全了解代码库 也没有安全问题,这迫使他们自己开发补丁来修复一些已发现的缺陷。该报告于 7 月 90 日发送给开发人员,但整个漏洞集无法在商定的 XNUMX 天宽限期内修复。
如果您使用 GNU Screen 该怎么办?
包含 Screen 5.0.0 且具有 setuid root 的系统用户 应立即更新至 5.0.1 版本或 如果没有可用的软件包,则暂时恢复到 4.x 版本。作为缓解措施,还可以从 Screen 可执行文件中移除 setuid 位:
sudo chmod u-s /usr/bin/screen
然而, 这可能会影响功能 例如用户之间的会话共享。最后,值得一提的是,最近发布的 5.0.1 版本修复了这个问题和其他错误,现在可以在 Arch Linux 和 FreeBSD 等发行版上使用。
如果你是 有兴趣了解更多,您可以在中查看详细信息 以下链接。