Spring Security和Spring Framework中出现了两个严重漏洞,分别为CVE-2025-41248和CVE-2025-41249,攻击者可能利用这些漏洞绕过企业应用程序中的授权控制。
当将Spring Security的@EnableMethodSecurity特性与@PreAuthorize和@PostAuthorize等方法级注解结合使用时,会出现这些缺陷。
在服务接口或抽象基类使用无界泛型的应用中,注解检测机制可能无法定位到重写方法上的安全注解,从而导致未授权访问受保护的端点。
上述权限绕过漏洞与注解检测缺陷均被归类为(注:原文此处未完整显示具体分类,常见分类可能为 “高危漏洞(High Severity Vulnerabilities)” 或遵循 CVSS 评分的对应等级,需根据完整上下文补充)。权限绕过和注释检测漏洞均被归类为中等严重程度,影响范围广泛,涉及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被无意中暴露。对方法级安全性的持续验证,再结合侧重于通用服务模式的代码审查,将加强授权执行并防范类似漏洞。
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。


评论