不安全的对象绑定 Checkmarx Java

问题描述 投票:0回答:1

我在 Checkmarx 扫描中收到警报,提示 saveAll() 调用中的对象绑定不安全。 checkmarx 中的确切单词是

The orderReqDto at src/main/java/com/coppel/omnicanal/coppelpay/controller/ValidarClienteController.java in line 69
may unintentionally allow setting the value of saveAll in validarPlazosCliente, in the object
src/main/java/com/coppel/omnicanal/coppelpay/bussines/CustomerValidationBussines.java at line 392.

知道如何重写代码,以便 checkmarx 停止抱怨。

我的代码:

@PostMapping("/pos/num-cliente")
    public BaseResponseDTO<CustomerValidationRespDto<PlazoDto>> validateCustomerPosNumCliente(@Valid @RequestBody NumClienteReqDto orderReqDto, HttpServletRequest req) throws Exception {
        // * Obtiene data de JWT de interceptor
        JwtDto data = (JwtDto) req.getAttribute(DATA_DTO);
        return compraBussines.validarCliente(orderReqDto.getNumCliente(), null, data, null);
    }
412. clientePlazosDao.saveAll(plazosValidos);

需要修复此漏洞。

java security checkmarx
1个回答
0
投票

Checkmarx 正在标记所有批量分配的对象,以确保不会意外暴露公共设置器或构造函数。

要避免此错误,您可以

  1. 检查所有批量分配的对象,以确保此方法不会无意中暴露任何公共 setter 或构造函数。 确保在需要时,应用程序代码正确限制对属性和对象的访问。 考虑从对象绑定方法过渡到更精细的方法,其中仅显式设置值,以防止意外地暴露意外的值以被隐式更改。

  2. 如果您知道您的保险箱,并且它是 FP,请从预设中删除查询。它的漏洞较低。

© www.soinside.com 2019 - 2024. All rights reserved.