CVE-2025-69288CVE-2025-69288是Titra开源项目时间追踪软件中的一个严重安全漏洞,CVSS评分高达9.1(严重级别)。该漏洞存在于0.99.49版本之前,允许任何已认证的管理员用户在数据库中修改timeEntryRule配置值。由于该值被直接传递到NodeVM环境中作为代码执行,而没有进行任何输入清理或安全验证,攻击者可以利用此漏洞在服务器上执行任意代码,实现完全的系统控制。此漏洞通过网络即可发起攻击,无需用户交互,但需要攻击者拥有管理员权限。漏洞于2025年12月31日被披露,GitHub安全团队发现并报告了此问题。鉴于其严重性和潜在的巨大危害,建议所有使用受影响版本的用户立即采取修复措施。
Titra是一款基于Node.js开发的开源时间追踪应用。在受影响版本中,系统允许已认证的管理员用户通过API或管理界面修改数据库中的timeEntryRule字段。这个字段本应用于配置时间条目规则,但其值会被直接传递给NodeVM(Node.js Virtual Machine)模块进行代码执行。NodeVM是Node.js的一个内置模块,可以在隔离的VM中执行JavaScript代码。然而,当timeEntryRule的值未经任何清理或验证就被传入NodeVM.runInVMContext()或类似方法时,攻击者可以构造恶意JavaScript代码作为该字段的值。由于管理员账户在系统中具有较高权限,这种操作不会被常规安全检查拦截。攻击者通过修改数据库中的timeEntryRule字段,注入任意JavaScript代码,该代码会在NodeVM上下文中执行,从而实现远程代码执行。成功利用此漏洞后,攻击者可以在服务器上执行系统命令、读取敏感数据、植入后门或完全控制服务器。修复版本0.99.49通过添加输入验证和安全的代码执行机制解决了这一问题。