liyiorg / weixin-popular

微信SDK JAVA (公众平台、开放平台、 商户平台、 服务商平台)
Apache License 2.0
2.5k stars 1.06k forks source link

MAJOR vulnerability: bump httpclient from 4.3.6 to 4.5.3 #245

Open MethodLevelAnalyzer opened 3 years ago

MethodLevelAnalyzer commented 3 years ago

Vulnerability Information

Bumps apache-httpclient from 4.3.6 to 4.5.3.

Listed dependency org.apache.httpcomponents:httpclient contains vulnerable methods which are called from this project. This vulnerability appears to affect httpclient package versions lower than 4.5.3 (excluding). The vulnerability has been fixed in version 4.5.3, as can be seen from the package release notes.

Property
Value
Linked CVE
HTTPCLIENT-1803
Number of affected methods
10+
Severity
MAJOR
Current version
4.3.6
Updated version
4.5.3
Backwards Compatibility
True

Vulnerable method calls

Methods in this repository Used package methods Origin vulnerable method
edu.ksu.canvas.net/
SimpleRestClient.sendApiPost(OauthToken token, String url, Map<String, List<String>> postParameters, int connectTimeout, int readTimeout)
org.apache.http.client.methods/RequestBuilder.build() org.apache.http.client.util/
URIBuilder.normalizePath(String path)
weixin.popular.api/ScanAPI.productCreate(String accessToken, String postJson) org.apache.http.client.methods/RequestBuilder.build() org.apache.http.client.util/
URIBuilder.normalizePath(String path)

Whole set of methods

To see the whole set of methods that are affected, please take a look at the table in the markdown file here.

What do the columns represent?

The 1st column in the table indicates the method in this repository that was found to be affected by vulnerable methods from the httpclient package.

The 2nd column indicates the httpclient method that was directly called from this repository.

The 3rd column indicates the origin vulnerable method in the httpclient package. According to our dataset, this is one of the methods that produces the HTTPCLIENT-1803 vulnerability. This method was found to be internally chain-called in the httpclient package by the method listed in column 2.

How were the results generated?

This vulnerability was analyzed specifically for usage in this project using the FASTEN Project. Statical method-level analysis was used to check for usage of vulnerable methods in the project.

Method calls between your project and httpclient have been mapped into a directed graph. From this graph, it could be then be seen whether any vulnerable httpclient methods are being called from within your project.

Research Scope

We are a team of 3 BSc Computer Science students at the TU Delft. Our goal is to conduct research on how developers react to method-level vulnerability information that affects their projects. We would highly appreciate if you could help us with our research and please tick statements which apply to you below.

First impression checklist

After fixing vulnerability checklist