update x-stream to 1.4.18 (from 1.4.17) #675
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
The latest update to xstream 1.4.18 contains fixes for 14 CVE (http://x-stream.github.io/changes.html)
Motivation and Context
Up to version 1.4.17 (before this update) xstream used an internal blacklist to block potential security threads on class (de)serialisation. With this new version they changed to an internal whitelist to allow safe operations only.
BUT - jmeter initalizes xstream with an empty security framework (no white/blacklist at all) in JMeterUtils.java
(https://github.com/apache/jmeter/blob/5f1995de244986c820ed47028ceedf9167004673/src/core/src/main/java/org/apache/jmeter/util/JMeterUtils.java#L1274:L1280), therefore i think the internal change in xstream does not change anything for jmeter.
On the other hand i am not really shure about the security implications of running without a list at all and if theses fixes really help...
Someone with a deeper understanding of jmeters usage of xstream should check where the serialisation is used and where the objects to searialize/unserialize came from (external/network or only internal).
How Has This Been Tested?
gradlew check
runs without problem and used it for nearly 2 months ourself without any problem.Screenshots (if appropriate):
Types of changes
Checklist: