Spring Security和Spring Framework中出现了两个严重漏洞,分别为CVE-2025-41248和CVE-2025-41249,攻击者可能利用这些漏洞绕过企业应用程序中的授权控制。
当将Spring Security的@EnableMethodSecurity特性与@PreAuthorize和@PostAuthorize等方法级注解结合使用时,会出现这些缺陷。
在服务接口或抽象基类使用无界泛型的应用中,注解检测机制可能无法定位到重写方法上的安全注解,从而导致未授权访问受保护的端点。
权限绕过和注释检测漏洞均被归类为中等严重程度,影响范围广泛,涉及Spring Security和Spring Framework的多个版本,涵盖5.x到6.x的发布系列。
权限绕过漏洞(CVE-2025-41248)
CVE-2025-41248针对的是Spring Security 6.4.0至6.4.9版本以及6.5.0至6.5.3版本。
当参数化的超类定义了受保护的方法签名,而子类未能重新声明相关注解时,框架的元数据解析器无法正确遍历泛型类型层次结构。
攻击者可能会利用这一逻辑漏洞,通过调用仅在通用接口上定义的受保护操作,绕过依赖@PreAuthorize(“hasRole(‘ADMIN’)”)或类似SpEL表达式的授权检查。
该漏洞的CVSS 3.1基础评分为6.5(AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N)。
注解检测漏洞(CVE-2025-41249)
CVE-2025-41249影响Spring Framework核心模块的5.3.0至5.3.44版本、6.1.0至6.1.22版本以及6.2.0至6.2.10版本。
在这种情况下,注释检测缺陷会阻碍对在通用基类上定义的、用于授权或审计的任何方法注释的识别。
如果没有注解元数据,Spring Security就无法实施方法级别的安全约束。
这两个漏洞均源于在注解内省期间对无界泛型的处理不当,导致运行时忽略安全元数据,并将敏感的服务方法视为未受保护。
通用漏洞披露 | 标题 | CVSS 3.1 评分 | 严重程度 |
CVE-2025-41248 | Spring Security中针对参数化类型的方法安全注解的授权绕过 | 中等 | |
CVE-2025-41249 | Spring框架泛型超类上的注解检测漏洞 | 中等 |
缓解措施
Spring 维护人员已为所有受影响的模块发布了修复版本。对于 Spring Security,用户应升级至 6.4.10 或 6.5.4。
对于Spring Framework,推荐的升级版本为5.3.45、6.1.23和6.2.11。完整的缓解措施详情可在Spring Security公告和RSS订阅中查看。
无法立即升级的团队可以通过在具体类中直接声明所有受保护的方法,而不是依赖从泛型超类继承的注解,来实施临时解决方法。
确保在每个实现类上一致使用@PreAuthorize、@PostAuthorize和其他方法安全注解,将能防止绕过行为。
开发团队应检查其服务接口,查看是否在泛型中使用了@EnableMethodSecurity。
静态分析工具和自定义注解扫描脚本应更新,以正确检测跨类型层次结构的带注解方法。
安全团队必须优先对CI/CD流水线进行这些升级,以避免受保护的API被无意中暴露。对方法级安全性的持续验证,再结合侧重于通用服务模式的代码审查,将加强授权执行并防范类似漏洞。
1. 本版块文章内容及资料部分来源于网络,不代表本站观点,不对其真实性负责,也不构成任何建议。
2. 部分内容由网友自主投稿、编辑整理上传,本站仅提供交流平台,不为该类内容的版权负责。
3. 本版块提供的信息仅作参考,不保证信息的准确性、有效性、及时性和完整性。
4. 若您发现本版块有侵犯您知识产权的内容,请及时与我们联系,我们会尽快修改或删除。
5. 使用者违规、不可抗力(如黑客攻击)或第三方擅自转载引发的争议,联盟不承担责任。
6. 联盟可修订本声明,官网发布即生效,继续使用视为接受新条款。