CVE-2017-7957: XStream through 1.4.9 mishandles attempts to create an instance of the primitive type 'void'
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
libxstream-java (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Trusty |
Fix Released
|
Medium
|
Unassigned | ||
Xenial |
Fix Released
|
Medium
|
Unassigned | ||
Artful |
Fix Released
|
Undecided
|
Unassigned | ||
Bionic |
Fix Released
|
Undecided
|
Unassigned | ||
Cosmic |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
[impact]
XStream through 1.4.9, when a certain denyTypes workaround is not used,
mishandles attempts to create an instance of the primitive type 'void'
during unmarshalling, leading to a remote application crash, as
demonstrated by an xstream.
[test case]
install java jdk (e.g. openjdk-8-jdk) and libxstream-java on a xenial (or trusty) system. Then create a file named TestCVE.java with this content:
import com.thoughtwork
public class TestCVE {
public static void main(String[] args) {
XStream xstream = new XStream();
xstream.
}
}
then run this (from the same directory as the file) to compile it, noting to replace the version number if needed (1.4.8 is X version, if on trusty use 1.4.7):
$ javac -cp /usr/share/
then test it (again correcting version if needed):
$ java -cp /usr/share/
failure is a JVM segfault, e.g.:
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00007f6546
success is a normal java exception with backtrace, e.g.:
Exception in thread "main" com.thoughtwork
[regression potential]
regressions could include failing to parse the stream, or otherwise cause exceptions or segfaults.
[other info]
http://
https:/
https:/
CVE References
description: | updated |
description: | updated |
Changed in libxstream-java (Ubuntu Trusty): | |
status: | In Progress → Confirmed |
Changed in libxstream-java (Ubuntu Xenial): | |
status: | In Progress → Confirmed |
CVE already included in version 1.4.10 and later, which covers A/B/C.