Upgrade XStream from 1.4.19 to 1.4.20 #7548
Merged
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.
Upgrade XStream from 1.4.19 to 1.4.20.
Release notes
Sourced from XStream's releases.
See full diff in compare view. Per #7270:
Upstream has fixed this issue, and this PR upgrades to that release, so accordingly this PR reverts #7270.
Testing done
Integration testing
Ran
mvn clean verify -Dtest=hudson.bugs.DateConversionTest,hudson.cli.UpdateViewCommandTest,hudson.model.CauseTest,hudson.model.ComputerConfigDotXmlTest,hudson.model.ParametersAction2Test,hudson.model.QueueTest,hudson.model.RunParameterValueTest,hudson.model.ViewTest,hudson.PluginManagerTest,hudson.util.CopyOnWriteListTest,hudson.util.CopyOnWriteMapTest,hudson.util.DescribableListTest,hudson.util.PackedMapTest,hudson.util.RobustCollectionConverterTest,hudson.util.RobustMapConverterTest,hudson.util.RobustReflectionConverterTest,hudson.util.SecretTest,hudson.util.XStream2AnnotationTest,hudson.util.XStream2EncodingTest,hudson.util.XStream2Security383Test,hudson.util.XStream2Test,hudson.XmlFileTest,jenkins.install.InstallStateTest,jenkins.security.ClassFilterImplTest,jenkins.security.Security637Test,jenkins.util.xstream.AtomicBooleanFieldsTest,jenkins.util.xstream.XStreamDOMTest,jenkins.widgets.BuildTimeTrendTest
.Functional testing
Ran a Docker build on Java 17 with the workaround from #7270 reverted both before and after the XStream upgrade. Before the XStream upgrade, the build failed as in jenkinsci/docker-plugin#905. After the XStream upgrade, the build passed. Inspected the serialized
AtomicBoolean
field to ensure it was using the new format. Also manually verified that the old format could still be deserialized.Proposed changelog entries
Upgrade XStream from 1.4.19 to 1.4.20. This maintenance release addresses the security vulnerabilities CVE-2022-40151 and CVE-2022-41966, causing a Denial of Service by raising a stack overflow. It also provides new converters for
Optional
andAtomic
types.Proposed upgrade guidelines
N/A
Submitter checklist
@Restricted
or have@since TODO
Javadocs, as appropriate.@Deprecated(since = "TODO")
or@Deprecated(forRemoval = true, since = "TODO")
, if applicable.eval
to ease future introduction of Content Security Policy (CSP) directives (see documentation).Desired reviewers
@mention
Maintainer checklist
Before the changes are marked as
ready-for-merge
:Proposed changelog entries
are accurate, human-readable, and in the imperative moodupgrade-guide-needed
label is set and there is aProposed upgrade guidelines
section in the PR title. (example)lts-candidate
to be considered (see query).Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)