安全策略

如何报告潜在的安全漏洞

整个 Spring 产品组合中任何潜在的安全漏洞都应通过 安全公告 页面报告。

Spring 团队需要通过 GitHub 的 私下报告安全漏洞 功能接收潜在安全漏洞的报告。为了简化流程,spring-projects/security-advisories 存储库用于报告 Spring 产品组合中任何项目的潜在漏洞(这包括其他 GitHub 组织中的项目,例如 Spring Cloud)。

查看安全漏洞

所有安全漏洞都发布到 https://springframework.org.cn/security/

报告漏洞的指南

如果您认为发现了安全漏洞,请按照 如何报告潜在的安全漏洞 中的说明进行报告。在下面,您可以看到 漏洞 的示例和 非漏洞 的示例。

漏洞示例

有关漏洞示例,请参阅 https://springframework.org.cn/security/

非漏洞示例

不安全的反序列化

Spring 团队的立场是,为了将反序列化视为 Spring 中的漏洞,Spring 必须将数据从不受信任的来源(即 HTTP 参数)传递到以产生 CVE 的方式执行反序列化的方法。这种立场的理由是,任意类型的反序列化是必要的,但无法使其安全。

Spring 为开发人员提供了必要的工具,但安全地使用它们是开发人员的责任。这与任何其他库或 JDK 本身没有区别。如果开发人员将来自 HTTP 请求的不受信任的数据传递给 ProcessBuilder,那么这不是 JDK 中的 CVE,而是错误使用 ProcessBuilder 的应用程序中的 CVE。如果开发人员使用不受信任的数据通过字符串连接创建 SQL 查询,则这不是 SQL 驱动程序中的 CVE,而是应用程序没有使用预准备的 SQL 语句的 CVE。同样,如果开发人员将不受信任的数据传递到反序列化方法,则开发人员需要确保这样做是安全的。

依赖项中的漏洞

Spring 依赖项中的漏洞应报告给相应的项目,而不是 Spring 团队。

易受攻击的依赖项版本

无论依赖项是否包含漏洞,Spring 团队都会尽最大努力使其依赖项保持最新。但是,当 Spring 定义易受攻击的依赖项版本时,我们不认为它是 Spring 中的漏洞,因为开发人员可以覆盖这些版本,并且因为针对任何传递依赖项发布将变得难以管理 Spring 产品组合。

依赖项的开发人员有责任发布与安全修复程序兼容的版本。如果此版本可用,则 Spring 项目将在发布下一个 Spring 版本之前更新到该依赖项版本。

通常,不会为了更新依赖项版本而进行特殊发布。相反,Spring 团队鼓励开发人员覆盖该版本,直到下一个 Spring 版本发布。

抢先一步

VMware 提供培训和认证,以加速您的进步。

了解更多

获取支持

Tanzu Spring 在一个简单的订阅中提供对 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件。

了解更多

即将举行的活动

查看 Spring 社区中所有即将举行的活动。

查看全部