CVE-2026-43891changedetection.io是一款免费开源的网页变更检测工具。在0.55.1版本之前,该软件存在一个严重的安全漏洞。漏洞成因在于应用程序在恢复备份时,盲目信任并解压攻击者控制的快照路径。在恢复ZIP备份文件的过程中,应用直接使用`shutil.copytree`将解压后的目录复制到活跃的数据存储区,且未对保留的文件(如history.txt)进行安全校验。攻击者可利用此机制,通过特制的备份文件读取服务器上的任意本地文件。
该漏洞的核心在于备份恢复逻辑中缺乏对文件路径的严格验证。当用户上传并恢复一个恶意的备份ZIP文件时,应用程序会解压归档并调用`shutil.copytree(entry.path, dst_dir)`将文件复制到监控目录。由于未对ZIP包内的文件结构进行清洗,攻击者可以在备份中植入受控的文件或符号链接。特别是,攻击者可以操纵`history.txt`文件。恢复后,当应用程序解析并读取监控历史的`history.txt`属性时,它会读取攻击者指定路径的文件内容。由于CVSS向量为AV:N/AC:L/PR:N/UI:N/S:U,攻击者无需用户交互或认证即可通过网络触发此漏洞,导致高机密性影响。