最近在使用dependency-check做项目安全漏洞检查时,发现有一漏洞严重漏洞无法修复。
Dependency | Vulnerability IDs | Highest Severity |
---|---|---|
rxnetty-0.4.20.jar | cpe:2.3:a:netty:netty:0.4.9:*:*:*:*:*:*:* | CRITICAL |
rxnetty-servo-0.4.9.jar | cpe:2.3:a:netty:netty:0.4.9:*:*:*:*:*:*:* | CRITICAL |
看到这类问题,首先像到的是升级jar包版本
dependency-check的结果文件中有提示需要升级的版本,如CVE-2019-20444警告中提示需要将netty升级到4.1.44以上版本。
CVE-2019-20444 suppress
HttpObjectDecoder.java in Netty before 4.1.44 allows an HTTP header that lacks a colon, which might be interpreted as a separate header with an incorrect syntax, or might be interpreted as an "invalid fold."
CWE-444 Inconsistent Interpretation of HTTP Requests ('HTTP Request Smuggling')
CVSSv2:
Base Score: MEDIUM (6.4)
Vector: /AV:N/AC:L/Au:N/C:P/I:P/A:N
CVSSv3:
Base Score: CRITICAL (9.1)
Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
...
Vulnerable Software & Versions: (show all)
cpe:2.3:a:netty:netty:*:*:*:*:*:*:*:* versions up to (excluding) 4.1.44
但是项目中的netty版本已经是4.1.44以上了,顿时无解。
理论上报的rxnetty-0.4.20.jar报,应该提示的是升级rxnetty才对,试着升级rxnetty,依赖相同的问题。
去https://github.com/jeremylong/DependencyCheck/issues看看有没有类似的问题。
发现上面有一个专门FP Report标签,作用就是处理误报的信息。认定为是将rxnetty报当着netty进行处理了,顺手提了两个issues。
还发现了将spring-kafka.jar作为spring_framework来处理,是类似的问题,相信还有很多这样的情况。
在dependency-check的扫描结果中,我可以查看Dependency和Vulnerability IDs两个是否对应,理论上提示的报应该是一样的,如果不一样很可能就是误报的情况。