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

CVE-2018-10237 #1

@sourabhsparkala

Description

@sourabhsparkala

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions