我有一个 Spring Boot 应用程序,在调用 AuthorizeRequests() 的行中,我的配置函数出现以下声纳严重缺陷。我应该如何修复它?谢谢。Make sure that Permissions are controlled safely here. Controlling permissions is security-sensitive. It has led in the past to the following vulnerabilities: CVE-2018-12999 CVE-2018-10285 CVE-2017-7455我的配置类:@Configuration@EnableWebSecuritypublic class MyConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http .authorizeRequests() // Sonar complain this line here .antMatchers("/v1/").permitAll() .antMatchers("/**").authenticated() .and().httpBasic() .and().cors(); }}
1 回答
眼眸繁星
TA贡献1873条经验 获得超9个赞
我刚刚查找了声纳中的错误描述,下面是声纳中的错误描述。
控制权限是安全敏感的。它在过去导致了以下漏洞:
CVE-2018-12999
CVE-2018-10285
CVE-2017-7455
攻击者只能破坏他们有权访问的内容。因此,限制他们的访问是防止他们造成严重破坏的好方法,但必须采取正确的做法。
此规则标记控制对资源和操作的访问的代码。目标是指导安全代码审查。
以下是导致声纳问题的代码
.authorizeRequests() // Sonar complain this line here
.antMatchers("/v1/").permitAll()
.antMatchers("/**").authenticated()
正如我在您的问题的评论中提到的,不要盲目授权请求,访问应该受到限制,如下所示
http.authorizeRequests()
.antMatchers("/", "/home").access("hasRole('USER')")
.antMatchers("/admin/**").hasRole("ADMIN")
.and()
// some more method calls
如果这是您的测试/非生产代码,只需在抱怨问题的行添加//NOSONAR,声纳将绕过它,但**不要在生产环境中使用//NOSONAR。
添加回答
举报
0/150
提交
取消