CVE-2025-65799CVE-2025-65799是usememos memos开源备忘录应用v0.25.2版本中发现的一个高危路径遍历漏洞。该漏洞存在于应用的附件服务(Attachment service)中,由于程序在处理用户上传的文件名时缺乏充分的验证和过滤机制,攻击者可以通过构造特殊的文件路径序列来突破预期的存储目录限制,实现目录穿越攻击。成功利用此漏洞的攻击者能够读取服务器上的敏感文件,包括配置文件、源代码、凭据文件等,甚至可以在目标系统上写入任意文件,可能导致完整的系统沦陷。usememos是一个流行的自托管备忘录和笔记管理平台,被广泛应用于个人和小型组织的知识管理场景。由于其开源特性和易部署性,该应用在GitHub上拥有大量用户,这使得该漏洞的潜在影响范围较广。该漏洞的CVSS评分为4.3,属于中等严重程度,但考虑到攻击的便捷性和潜在影响,仍需及时修复。
该路径遍历漏洞的根本原因在于usememos memos的附件服务模块在处理用户上传的文件名时,没有对文件名进行充分的验证和清理。当用户上传附件时,应用程序直接将用户提供的文件名用于构建文件存储路径,而没有过滤掉可能用于目录穿越的特殊字符序列,如"../"或"..\"。攻击者可以通过在文件名中嵌入路径遍历序列,诱使服务器将文件写入预期目录之外的任意位置。例如,攻击者可以将文件名设置为"../../etc/passwd"或"../../../flag.txt",使服务器在处理该请求时将文件写入系统根目录或敏感目录。漏洞利用的核心在于应用程序使用了不安全的文件路径拼接方式,通常采用类似"base_path + filename"的方式构建最终的文件存储路径,而没有使用realpath()等函数进行路径规范化并验证最终路径是否在允许的目录范围内。攻击者还可以利用此漏洞读取服务器上的任意文件,包括应用配置文件、数据库连接信息、环境变量文件等敏感数据。在某些配置下,攻击者甚至可以通过写入恶意文件(如Webshell)来实现远程代码执行。