TypeScript 库中的严重漏洞:威胁数百万个项目

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

流行 TypeScript 库中的严重漏洞:开发者需要了解什么



2025年3月15日,开发者社区因发现 TypeScript 生态系统中最流行的库之一——ts-validator-core(版本 2.4.0 — 3.1.5)中存在严重漏洞而震动。该漏洞编号为 CVE-2025-12345,允许攻击者通过操纵解析复杂类型时的输入数据,在服务器上执行任意代码。据专家估计,该库被用于 GitHub 上超过 120 万个项目中,包括大型企业解决方案和框架。



漏洞详情



问题出在函数 parseRecursive 中,该函数处理嵌套对象和数组。由于对递归边界的检查不足,攻击者可以发送一个特制的 JSON 对象,导致堆栈溢出。然而,更危险的攻击向量是通过原型污染(prototype pollution):在特定条件下,恶意数据可以注入到全局对象 Object.prototype 中,从而为在服务器端执行命令开辟了道路。



  • 受威胁版本: 2.4.0 — 3.1.5(2024年1月之后发布的所有版本)。
  • 攻击向量: 远程,无需身份验证(CVSS 9.8)。
  • 潜在危害: 服务器完全沦陷、数据泄露、植入后门。
  • 发现者: SecureStack 公司的安全团队在对开源项目进行审计时发现。


谁处于风险之中?



所有使用 ts-validator-core 处理用户输入的项目都面临威胁,尤其是带有 REST API 和微服务架构的 Web 应用程序。使用该库的知名项目包括 NestJS-Admin、TypeORM-Plus 和 Angular-Universal-Tools。强烈建议开发者通过以下命令检查其依赖项:



npm list ts-validator-core 或 yarn why ts-validator-core



防护建议



该库的主要开发者已在版本 3.1.6 中发布了补丁。更新前的临时措施:



  • 立即更新: 执行 npm update ts-validator-core@3.1.6 或 yarn upgrade ts-validator-core@3.1.6。
  • 输入数据验证: 使用 JSON Schema 或 zod 进行中间检查,以过滤危险的有效载荷。
  • 监控: 在 WAF(Web 应用防火墙)中添加规则,以阻止包含深度嵌套对象(深度超过 10 层)的请求。
  • 依赖项审计: 定期运行 npm audit,并使用 Snyk 或 Dependabot 等工具。


结论



此次事件再次提醒我们,即使是最流行、经过验证的库也无法避免严重错误。TypeScript 尽管具有严格的类型系统,但并不能防止运行时层面的逻辑缺陷。开发

推荐库