CVE-2025-55174CVE-2025-55174是KDE Skanpage中的一个安全漏洞,CVSS评分3.2,严重等级为低危。该漏洞位于文件保存功能实现中,由于代码错误使用了QIODevice::ReadWrite模式而非正确的QODevice::WriteOnly模式,导致在尝试覆盖现有文件时,会产生一个特殊的数据合并问题。当用户保存修改后的文件时,新文件的内容会正确写入到文件开头,但原有文件的部分内容会被追加到新内容之后,造成文件内容污染和数据损坏。这种情况在用户不知情的情况下发生,可能导致重要文档数据丢失或泄露。攻击者可能利用此漏洞在用户编辑文件时,通过精心构造的文件名或文件操作时序,在目标位置写入包含恶意内容或敏感数据的混合文件。该漏洞需要本地访问权限,无需用户认证和交互即可触发,但实际利用难度较高,需要特定的文件操作场景配合。
该漏洞的根本原因在于KDE Skanpage在实现文件保存功能时,选择了错误的文件打开模式。具体来说,代码使用了QIODevice::ReadWrite标志来打开文件,这个标志允许同时进行读写操作。当文件已存在且用户尝试保存修改后的内容时,这种模式会导致以下行为:首先,新内容会以覆盖方式写入文件开头;然后,由于文件句柄保持打开状态,原有文件的剩余内容会被保留并追加到新内容之后。这种行为在文件大小发生变化时尤为明显——如果新内容小于原文件,旧文件的尾部内容会保留;如果新内容大于原文件,可能会出现文件系统层面的一致性问题。正确的实现应该使用QODevice::WriteOnly标志配合QIODevice::Truncate模式,确保文件内容被完全替换。攻击者若要利用此漏洞,需要能够触发目标用户打开并保存特定文件,这通常需要一定的用户交互或社会工程学手段。修复方案已在commit de3ad2941054a26920e022dc7c4a3dc16c065b5a中实现,版本25.08.0已包含此修复。