{"id":"CVE-2021-43859","published":"2022-02-01T12:08:57Z","modified":"2025-11-03T21:45:34Z","title":"Denial of Service by injecting highly recursive collections or maps in XStream","vendor":"x-stream","product":"xstream","tier":"tail","description":{"text":"XStream is an open source java library to serialize objects to XML and back again. Versions prior to 1.4.19 may allow a remote attacker to allocate 100% CPU time on the target system depending on CPU type or parallel execution of such a payload resulting in a denial of service only by manipulating the processed input stream. XStream 1.4.19 monitors and accumulates the time it takes to add elements to collections and throws an exception if a set threshold is exceeded. Users are advised to upgrade as soon as possible. Users unable to upgrade may set the NO_REFERENCE mode to prevent recursion. See GHSA-rmr5-cpv2-vgjf for further details on a workaround if an upgrade is not possible.","provenance":"source","from":"CVE.org"},"cvss":{"score":7.5,"severity":"HIGH","version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","provenance":"source","from":"CVE.org CNA"},"epss":{"score":0.07934,"percentile":0.94724,"provenance":"source"},"cwes":[{"id":"CWE-400","name":"Uncontrolled Resource Consumption"}],"references":[{"url":"https://github.com/x-stream/xstream/security/advisories/GHSA-rmr5-cpv2-vgjf","tags":["x_refsource_CONFIRM"]},{"url":"https://github.com/x-stream/xstream/commit/e8e88621ba1c85ac3b8620337dd672e0c0c3a846","tags":["x_refsource_MISC"]},{"url":"https://x-stream.github.io/CVE-2021-43859.html","tags":["x_refsource_MISC"]},{"url":"http://www.openwall.com/lists/oss-security/2022/02/09/1","tags":["mailing-list","x_refsource_MLIST"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/XODFRE2ZL64FICBJDOPWOLPTSSAI4U7X/","tags":["vendor-advisory","x_refsource_FEDORA"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/VACQYG356OHUTD5WQGAQ4L2TTFTAV3SJ/","tags":["vendor-advisory","x_refsource_FEDORA"]},{"url":"https://lists.debian.org/debian-lts-announce/2022/02/msg00018.html","tags":["mailing-list","x_refsource_MLIST"]},{"url":"https://www.oracle.com/security-alerts/cpuapr2022.html","tags":["x_refsource_MISC"]},{"url":"https://www.oracle.com/security-alerts/cpujul2022.html","tags":["x_refsource_MISC"]},{"url":"https://lists.debian.org/debian-lts-announce/2024/12/msg00023.html","tags":[]}],"priority":{"score":24.2,"factors":[{"name":"EPSS percentile","points":18.94},{"name":"CVSS severity","points":5.25}]},"vendorSlug":"x-stream","affectedVersions":[{"vendor":"x-stream","product":"xstream","versions":["< 1.4.19"]}],"affected":[{"ecosystem":"Maven","package":"com.thoughtworks.xstream:xstream","vulnerableRanges":["<1.4.19"],"patched":["1.4.19"],"from":["GHSA-rmr5-cpv2-vgjf"],"provenance":"source"}],"euvd":{"id":"EUVD-2022-1176","exploited":false,"provenance":"source"},"lineage":{"familyId":"fam-x-stream-xstream-cve-2017-7957","parents":[{"from":"CVE-2017-7957","to":"CVE-2021-43859","relation":"related","confidence":"medium","kind":"lineage","evidence":[{"kind":"same-code","provenance":"machine","files":["xstream/src/java/com/thoughtworks/xstream/XStream.java"],"commits":["https://github.com/x-stream/xstream/commit/6e546ec366419158b1e393211be6d78ab9604abe","https://github.com/x-stream/xstream/commit/8542d02d9ac5d384c85f4b33d6c1888c53bd55d3","https://github.com/x-stream/xstream/commit/e8e88621ba1c85ac3b8620337dd672e0c0c3a846"],"basis":"shared function","functions":["XStream","unmarshal"]}]},{"from":"CVE-2013-7285","to":"CVE-2021-43859","relation":"related","confidence":"medium","kind":"lineage","evidence":[{"kind":"same-code","provenance":"machine","files":["xstream-distribution/src/content/website.xml","xstream/src/java/com/thoughtworks/xstream/XStream.java","xstream/src/java/com/thoughtworks/xstream/security/ForbiddenClassException.java"],"commits":["https://github.com/x-stream/xstream/commit/6344867dce6767af7d0fe34fb393271a6456672d","https://github.com/x-stream/xstream/commit/e8e88621ba1c85ac3b8620337dd672e0c0c3a846"],"basis":"shared function","functions":["XStream"]}]}],"children":[{"from":"CVE-2021-43859","to":"CVE-2024-47072","relation":"related","confidence":"medium","kind":"lineage","evidence":[{"kind":"same-code","provenance":"machine","files":["xstream-distribution/src/content/website.xml"],"commits":["https://github.com/x-stream/xstream/commit/e8e88621ba1c85ac3b8620337dd672e0c0c3a846","https://github.com/x-stream/xstream/commit/bb838ce2269cac47433e31c77b2b236466e9f266","https://github.com/x-stream/xstream/commit/fdd9f7d3de0d7ccf2f9979bcd09fbf3e6a0c881a"],"basis":"rarely changed file"}]}],"packageHistory":[{"cve":"CVE-2021-39152","published":"2021-08-23","fixed":"1.4.18","kev":false},{"cve":"CVE-2021-39153","published":"2021-08-23","fixed":"1.4.18","kev":false},{"cve":"CVE-2021-39154","published":"2021-08-23","fixed":"1.4.18","kev":false},{"cve":"CVE-2021-43859","published":"2022-02-01","fixed":"1.4.19","kev":false},{"cve":"CVE-2022-40151","published":"2022-09-16","fixed":"1.4.20","kev":false,"link":{"from":"CVE-2021-43859","to":"CVE-2022-40151","relation":"successor","confidence":"low","kind":"sequence","evidence":[{"kind":"version-step","provenance":"source","package":"Maven:com.thoughtworks.xstream:xstream","fromFixed":"1.4.19","toFixed":"1.4.20","daysApart":227}]}},{"cve":"CVE-2022-41966","published":"2022-12-27","fixed":"1.4.20","kev":false,"link":{"from":"CVE-2021-43859","to":"CVE-2022-41966","relation":"successor","confidence":"low","kind":"sequence","evidence":[{"kind":"version-step","provenance":"source","package":"Maven:com.thoughtworks.xstream:xstream","fromFixed":"1.4.19","toFixed":"1.4.20","daysApart":329}]}},{"cve":"CVE-2024-47072","published":"2024-11-07","fixed":"1.4.21","kev":false}],"package":"Maven:com.thoughtworks.xstream:xstream"}}