几天前,有消息称 关键漏洞,其被认定为“CVE-2025-49091“。这个漏洞 在 Konsole 中发现(KDE 终端仿真器 (KDE Terminal Emulator) 允许攻击者通过浏览器访问恶意网页来执行远程代码。
提到这个问题 影响存在 KTelnetService 和易受攻击的 Konsole 版本的系统 已安装,但至少有一个 telnet、rlogin 或 ssh 程序未安装。该漏洞位于 KDE 终端仿真器控制台中。如 KDE 公告中所述,25.04.2 之前的 Konsole 版本存在此漏洞。
Konsole 支持从架构控制器加载 URL,例如
telnet://URL。无论 telnet 是否
二进制文件可用。在这种模式下,Konsole 有一个路由,如果 Telnet 不可用,
将再次使用 bash 来获取提供的参数;
是提供的 URL。这允许攻击者执行任意代码。
代码。当用户打开外部浏览器时,浏览器通常会显示一条消息。
模式控制器可能看起来可疑并且需要用户交互
可以被利用。
问题根源:KTelnetService 和危险的 URL 方案
研究人员指出,此漏洞背后的问题在于 KTelnetService 服务的行为,该服务是 KDE 默认包含的。该服务负责处理 telnet://、rlogin:// 和 ssh:// URL 方案,并旨在使用相应的实用程序(telnet、rlogin 或 ssh)直接在 Konsole 中打开这些链接。
然而,当系统未安装这些实用程序时,该漏洞就会发生。在这种情况下,Konsole 在尝试执行链接中指示的命令时,会使用 /bin/bash 作为替代。因此,攻击者可以构建自定义链接。
虽然乍一看这似乎无关紧要,但问题却变得更加复杂,因为攻击者可以使用自定义命令执行用户下载目录中的任何文件。换句话说,只要用户点击带有该方案的链接,任何文件都会自动执行。
这为什么这么危险?
现代浏览器(例如 Firefox 和 Chrome)(默认设置)会自动将下载的文件保存到 ~/Downloads 文件夹,无需用户确认。它们仅在下载完成后显示通知。
这种行为,加上在 Linux 系统上可以访问浏览器的当前目录路径,使得在用户不知情的情况下,可以从 Konsole 执行自动下载的恶意文件。
概念验证(PoC):如何利用漏洞
为了证明该漏洞的危险性,研究人员创建了以下 JavaScript 代码片段,演示了攻击者如何从网页利用此漏洞:
<html> <head> <script type="text/javascript"> function downloadAndRedirect() { const anchor = document.createElement('a'); anchor.href = "data:;base64,ZWNobyAiSGVsbG8gd29ybGQiCnRvdWNoIC90bXAvZm9vYmFyCg=="; anchor.download = 'evil'; document.body.appendChild(anchor); anchor.click(); document.body.removeChild(anchor); setTimeout(() => { window.location.href = "telnet:///proc/self/cwd/Downloads/evil"; }, 1000); } </script> </head> <body onload="downloadAndRedirect()"> </body> </html>
在 Firefox 和 Chrome 中,如果用户接受 telnet:// 链接,则会调用以下命令:
/usr/bin/konsole --noclose -e telnet /proc/self/cwd/Descargas/evil
并且,如果不存在 telnet,恶意脚本将通过 bash 执行。
临时缓解措施
在等待补丁程序时或者如果您无法立即更新,有两种简单的方法可以缓解此问题:
安装 telnet、rlogin 和 ssh 实用程序
如果这些实用程序存在,Konsole 将正确调用它们,而不会诉诸 bash。这可以防止任意内容以脚本形式执行。
sudo apt install telnet rlogin openssh-client
删除KTelnetService服务文件
您可以删除负责注册这些方案的文件:
sudo rm /usr/share/applications/ktelnetservice6.desktop
这将阻止 Konsole 自动处理 telnet://、rlogin:// 或 ssh:// 链接。
解决方案:紧急更新至 Konsole 25.04.2
该漏洞已在 Konsole 25.04.2 版本中修复,包含在 KDE Gear 25.04.2 更新中。强烈建议所有用户和系统管理员立即更新。
最后,如果您有兴趣了解更多,可以查阅详情 以下链接。