| 影响范围 | Spring Framework <5.3.18、<5.2.20(需满足特定条件) |
|---|---|
| 修复 | 升级到 5.3.18 / 5.2.20 或更高 |
| 缓解 | 数据绑定拒绝 class 相关敏感字段 |
| 排查 | 列出所有 Spring 应用的框架版本与部署形态 |
版本检查
版本检查
grep -R "spring-webmvc\|spring-core" pom.xml build.gradle
grep -R "spring.version" -n . | head官方缓解(参数绑定限制)
官方缓解(参数绑定限制)
@ControllerAdvice
public class BindingControllerAdvice {
@InitBinder
public void initBinder(WebDataBinder binder) {
binder.setDisallowedFields("class.*", "Class.*", "*.class.*", "*.Class.*");
}
}仅部分部署形态受影响;即便如此也建议升级,后续版本还包含其他加固。