org.xerial.snappy:snappy-java@1.1.1.6

  • latest version

    1.1.10.8

  • first published

    15 years ago

  • latest version published

    1 years ago

  • licenses detected

  • package registry

  • Direct Vulnerabilities

    Known vulnerabilities in the org.xerial.snappy:snappy-java package. This does not include vulnerabilities belonging to this package’s dependencies.

    Fix vulnerabilities automatically

    Snyk's AI Trust Platform automatically finds the best upgrade path and integrates with your development workflows. Secure your code at zero cost.

    Fix for free
    VulnerabilityVulnerable Version
    • H
    Out-of-bounds Write

    Affected versions of this package are vulnerable to Out-of-bounds Write via the Snappy.uncompress(ByteBuffer, ByteBuffer) method in org/xerial/snappy/Snappy.java. An attacker can trigger JVM termination by supplying valid compressed input that expands beyond the destination ByteBuffer capacity. The vulnerable code does not validate the output buffer size against the decompressed size, so writes past the buffer boundary occur during decompression, crashing applications that process attacker-controlled Snappy data.

    How to fix Out-of-bounds Write?

    There is no fixed version for org.xerial.snappy:snappy-java.

    [0,)
    • H
    Allocation of Resources Without Limits or Throttling

    Affected versions of this package are vulnerable to Allocation of Resources Without Limits or Throttling due to a missing upper bound check on chunk length in the SnappyInputStream function. An attacker can decompress data with an excessively large chunk size.

    How to fix Allocation of Resources Without Limits or Throttling?

    Upgrade org.xerial.snappy:snappy-java to version 1.1.10.4 or higher.

    [,1.1.10.4)
    • M
    Integer Overflow or Wraparound

    Affected versions of this package are vulnerable to Integer Overflow or Wraparound via the function compress(char[] input) in Snappy.java due to improper validation of the array length.

    Exploiting this vulnerability is possible when the “buf” array compiled by the maxCompressedLength function is successfully allocated but its size might be too small to use for the compression, causing a fatal Access Violation error.

    Note: The issue most likely won’t occur when using a byte array since creating a byte array of size 0x80000000 (or any other negative value) is impossible in the first place.

    How to fix Integer Overflow or Wraparound?

    Upgrade org.xerial.snappy:snappy-java to version 1.1.10.1 or higher.

    [,1.1.10.1)
    • H
    Denial of Service (DoS)

    Affected versions of this package are vulnerable to Denial of Service (DoS) via the hasNextChunk function due to improper validation of the chunkSize variable value.

    Exploiting this vulnerability is possible by passing a negative number (such as 0xFFFFFFFF, which is -1), which will cause the code to raise a java.lang.NegativeArraySizeException exception. A worse case would happen when passing a huge positive value (such as 0x7FFFFFFF), raising the fatal java.lang.OutOfMemoryError error.

    How to fix Denial of Service (DoS)?

    Upgrade org.xerial.snappy:snappy-java to version 1.1.10.1 or higher.

    [,1.1.10.1)
    • M
    Integer Overflow or Wraparound

    Affected versions of this package are vulnerable to Integer Overflow or Wraparound via the shuffle(int[] input) function due to improper validation of the multiplications done on the input length. Exploiting this vulnerability is possible by passing negative, zero, float, very small, or very long values to the shuffle functions, which later on are multiplicated by four. A successful exploration results in “java.lang.ArrayIndexOutOfBoundsException" or “java.lang.NegativeArraySizeException” exceptions which can crash the program.

    How to fix Integer Overflow or Wraparound?

    Upgrade org.xerial.snappy:snappy-java to version 1.1.10.1 or higher.

    [,1.1.10.1)