Skip to content
This repository has been archived by the owner on May 24, 2024. It is now read-only.

CVE-2018-10237 #1

Open
sourabhsparkala opened this issue Oct 22, 2020 · 1 comment
Open

CVE-2018-10237 #1

sourabhsparkala opened this issue Oct 22, 2020 · 1 comment

Comments

@sourabhsparkala
Copy link

sourabhsparkala commented Oct 22, 2020

CVE-2018-10237

During deserialization, two Guava classes accept a caller-specified size parameter and eagerly allocate an array of that size:

If a server deserializes instances sent by an attacker, the attacker can quickly force the server to allocate all its memory, without even sending the promised number of elements. Note that most servers that accept serialized data will deserialize objects of these types as long as they are on the classpath, even if they are not used by the server. (It is possible to set up an allow or denylist for Java serialization, but few service owners do. GWT serialization does operate with an allowlist by default, but it is usually a large, automatically generated list that often includes the problem class.)

Attack Vectors

To be affected, a server running Guava must deserialize data sent by an attacker (either Java serialization or GWT-RPC).

To avoid this

  • Fixed in guava versions 24.1.1 and 25.0
  • If not updating, then when using AtomicDoubleArray , CompoundOrdering the owners who are concerned about this problem should set a limit on the size of the object graph that their servers will accept.

More information on this can be found here

Things to do

  • Update to safer version of google guava 24.1.1 or 25.0
@sourabhsparkala sourabhsparkala changed the title CVE-2018-10237 in guava CVE-2018-10237 Oct 22, 2020
@dweiss
Copy link
Member

dweiss commented Oct 22, 2020

This library dependency is no longer present in Carrot2 4.x.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants