Vulnerabilities

26 via 65 paths

Dependencies

121

Source

GitHub

Commit

c1421a21

Find, fix and prevent vulnerabilities in your code.

Issue type
  • 26
  • 3
Severity
  • 1
  • 18
  • 8
  • 2
Status
  • 29
  • 0
  • 0

critical severity

SQL Injection

  • Vulnerable module: org.postgresql:postgresql
  • Introduced through: org.postgresql:postgresql@42.6.0

Detailed paths

  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c org.postgresql:postgresql@42.6.0
    Remediation: Upgrade to org.postgresql:postgresql@42.6.1.

Overview

org.postgresql:postgresql is a Java JDBC 4.2 (JRE 8+) driver for PostgreSQL database.

Affected versions of this package are vulnerable to SQL Injection when using PreferQueryMode=SIMPLE, which is not the default setting. By passing in a numeric value placeholder immediately preceded by a minus and followed by a second placeholder for a string value, on the same line, an attacker can construct a payload that alters the parameterized query into which it is interpolated. This effectively bypasses the protections against SQL Injection that parameterized queries offer.

Remediation

Upgrade org.postgresql:postgresql to version 42.2.28.jre7, 42.3.9, 42.4.4, 42.5.5, 42.6.1, 42.7.2 or higher.

References

high severity

Uncontrolled Recursion

  • Vulnerable module: commons-lang:commons-lang
  • Introduced through: com.orientechnologies:orientdb-client@3.2.23 and org.janusgraph:janusgraph-core@1.0.0-20231020-183655.ff58c43

Detailed paths

  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c com.orientechnologies:orientdb-client@3.2.23 com.orientechnologies:orientdb-core@3.2.23 commons-lang:commons-lang@2.6
  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c org.janusgraph:janusgraph-core@1.0.0-20231020-183655.ff58c43 commons-configuration:commons-configuration@1.10 commons-lang:commons-lang@2.6

Overview

Affected versions of this package are vulnerable to Uncontrolled Recursion via the ClassUtils.getClass function. An attacker can cause the application to terminate unexpectedly by providing excessively long input values.

Remediation

There is no fixed version for commons-lang:commons-lang.

References

high severity

Uncontrolled Recursion

  • Vulnerable module: org.apache.commons:commons-lang3
  • Introduced through: org.apache.commons:commons-lang3@3.12.0, org.apache.commons:commons-text@1.10.0 and others

Detailed paths

  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c org.apache.commons:commons-lang3@3.12.0
    Remediation: Upgrade to org.apache.commons:commons-lang3@3.18.0.
  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c org.apache.commons:commons-text@1.10.0 org.apache.commons:commons-lang3@3.12.0
    Remediation: Upgrade to org.apache.commons:commons-text@1.14.0.
  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c org.janusgraph:janusgraph-core@1.0.0-20231020-183655.ff58c43 org.apache.commons:commons-configuration2@2.9.0 org.apache.commons:commons-lang3@3.12.0
  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c org.janusgraph:janusgraph-core@1.0.0-20231020-183655.ff58c43 org.apache.tinkerpop:tinkergraph-gremlin@3.7.0 org.apache.commons:commons-lang3@3.12.0
  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c org.janusgraph:janusgraph-core@1.0.0-20231020-183655.ff58c43 org.apache.commons:commons-configuration2@2.9.0 org.apache.commons:commons-text@1.10.0 org.apache.commons:commons-lang3@3.12.0
  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c org.janusgraph:janusgraph-core@1.0.0-20231020-183655.ff58c43 org.janusgraph:janusgraph-driver@1.0.0-20231020-183655.ff58c43 org.apache.commons:commons-text@1.10.0 org.apache.commons:commons-lang3@3.12.0
  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c org.janusgraph:janusgraph-core@1.0.0-20231020-183655.ff58c43 org.apache.tinkerpop:tinkergraph-gremlin@3.7.0 org.apache.tinkerpop:gremlin-core@3.7.0 org.apache.commons:commons-lang3@3.12.0
  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c org.janusgraph:janusgraph-core@1.0.0-20231020-183655.ff58c43 org.janusgraph:janusgraph-driver@1.0.0-20231020-183655.ff58c43 org.apache.tinkerpop:gremlin-core@3.7.0 org.apache.commons:commons-lang3@3.12.0
  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c org.janusgraph:janusgraph-core@1.0.0-20231020-183655.ff58c43 org.janusgraph:janusgraph-driver@1.0.0-20231020-183655.ff58c43 org.apache.tinkerpop:gremlin-driver@3.7.0 org.apache.commons:commons-lang3@3.12.0
  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c org.janusgraph:janusgraph-core@1.0.0-20231020-183655.ff58c43 org.janusgraph:janusgraph-driver@1.0.0-20231020-183655.ff58c43 org.apache.tinkerpop:gremlin-groovy@3.7.0 org.apache.commons:commons-lang3@3.12.0
  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c org.janusgraph:janusgraph-core@1.0.0-20231020-183655.ff58c43 org.apache.tinkerpop:tinkergraph-gremlin@3.7.0 org.apache.tinkerpop:gremlin-core@3.7.0 org.apache.commons:commons-configuration2@2.9.0 org.apache.commons:commons-lang3@3.12.0
  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c org.janusgraph:janusgraph-core@1.0.0-20231020-183655.ff58c43 org.janusgraph:janusgraph-driver@1.0.0-20231020-183655.ff58c43 org.apache.tinkerpop:gremlin-core@3.7.0 org.apache.commons:commons-configuration2@2.9.0 org.apache.commons:commons-lang3@3.12.0
  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c org.janusgraph:janusgraph-core@1.0.0-20231020-183655.ff58c43 org.janusgraph:janusgraph-driver@1.0.0-20231020-183655.ff58c43 org.apache.tinkerpop:gremlin-driver@3.7.0 org.apache.tinkerpop:gremlin-core@3.7.0 org.apache.commons:commons-lang3@3.12.0
  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c org.janusgraph:janusgraph-core@1.0.0-20231020-183655.ff58c43 org.janusgraph:janusgraph-driver@1.0.0-20231020-183655.ff58c43 org.apache.tinkerpop:gremlin-groovy@3.7.0 org.apache.tinkerpop:gremlin-core@3.7.0 org.apache.commons:commons-lang3@3.12.0
  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c org.janusgraph:janusgraph-core@1.0.0-20231020-183655.ff58c43 org.janusgraph:janusgraph-driver@1.0.0-20231020-183655.ff58c43 org.apache.tinkerpop:gremlin-driver@3.7.0 org.apache.tinkerpop:gremlin-core@3.7.0 org.apache.commons:commons-configuration2@2.9.0 org.apache.commons:commons-lang3@3.12.0
  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c org.janusgraph:janusgraph-core@1.0.0-20231020-183655.ff58c43 org.janusgraph:janusgraph-driver@1.0.0-20231020-183655.ff58c43 org.apache.tinkerpop:gremlin-groovy@3.7.0 org.apache.tinkerpop:gremlin-core@3.7.0 org.apache.commons:commons-configuration2@2.9.0 org.apache.commons:commons-lang3@3.12.0
  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c org.janusgraph:janusgraph-core@1.0.0-20231020-183655.ff58c43 org.janusgraph:janusgraph-driver@1.0.0-20231020-183655.ff58c43 org.apache.tinkerpop:gremlin-driver@3.7.0 org.apache.tinkerpop:gremlin-util@3.7.0 org.apache.tinkerpop:gremlin-core@3.7.0 org.apache.commons:commons-lang3@3.12.0
  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c org.janusgraph:janusgraph-core@1.0.0-20231020-183655.ff58c43 org.janusgraph:janusgraph-driver@1.0.0-20231020-183655.ff58c43 org.apache.tinkerpop:gremlin-driver@3.7.0 org.apache.tinkerpop:gremlin-util@3.7.0 org.apache.tinkerpop:gremlin-core@3.7.0 org.apache.commons:commons-configuration2@2.9.0 org.apache.commons:commons-lang3@3.12.0

Overview

Affected versions of this package are vulnerable to Uncontrolled Recursion via the ClassUtils.getClass function. An attacker can cause the application to terminate unexpectedly by providing excessively long input values.

Remediation

Upgrade org.apache.commons:commons-lang3 to version 3.18.0 or higher.

References

high severity

Denial of Service (DoS)

  • Vulnerable module: com.fasterxml.jackson.core:jackson-core
  • Introduced through: com.orientechnologies:orientdb-client@3.2.23

Detailed paths

  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c com.orientechnologies:orientdb-client@3.2.23 com.orientechnologies:orientdb-core@3.2.23 com.fasterxml.jackson.core:jackson-core@2.14.2
    Remediation: Upgrade to com.orientechnologies:orientdb-client@3.2.24.

Overview

com.fasterxml.jackson.core:jackson-core is a Core Jackson abstractions, basic JSON streaming API implementation

Affected versions of this package are vulnerable to Denial of Service (DoS) due to missing input size validation when performing numeric type conversions. A remote attacker can exploit this vulnerability by causing the application to deserialize data containing certain numeric types with large values, causing the application to exhaust all available resources.

Details

Denial of Service (DoS) describes a family of attacks, all aimed at making a system inaccessible to its intended and legitimate users.

Unlike other vulnerabilities, DoS attacks usually do not aim at breaching security. Rather, they are focused on making websites and services unavailable to genuine users resulting in downtime.

One popular Denial of Service vulnerability is DDoS (a Distributed Denial of Service), an attack that attempts to clog network pipes to the system by generating a large volume of traffic from many machines.

When it comes to open source libraries, DoS vulnerabilities allow attackers to trigger such a crash or crippling of the service by using a flaw either in the application code or from the use of open source libraries.

Two common types of DoS vulnerabilities:

  • High CPU/Memory Consumption- An attacker sending crafted requests that could cause the system to take a disproportionate amount of time to process. For example, commons-fileupload:commons-fileupload.

  • Crash - An attacker sending crafted requests that could cause the system to crash. For Example, npm ws package

Remediation

Upgrade com.fasterxml.jackson.core:jackson-core to version 2.15.0-rc1 or higher.

References

high severity

Stack-based Buffer Overflow

  • Vulnerable module: com.fasterxml.jackson.core:jackson-core
  • Introduced through: com.orientechnologies:orientdb-client@3.2.23

Detailed paths

  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c com.orientechnologies:orientdb-client@3.2.23 com.orientechnologies:orientdb-core@3.2.23 com.fasterxml.jackson.core:jackson-core@2.14.2
    Remediation: Upgrade to com.orientechnologies:orientdb-client@3.2.24.

Overview

com.fasterxml.jackson.core:jackson-core is a Core Jackson abstractions, basic JSON streaming API implementation

Affected versions of this package are vulnerable to Stack-based Buffer Overflow due to the parse process, which accepts an unlimited input file with deeply nested data. An attacker can cause a stack overflow and crash the application by providing input files with excessively deep nesting.

Remediation

Upgrade com.fasterxml.jackson.core:jackson-core to version 2.15.0-rc1 or higher.

References

high severity

Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection')

  • Vulnerable module: commons-beanutils:commons-beanutils
  • Introduced through: org.janusgraph:janusgraph-core@1.0.0-20231020-183655.ff58c43

Detailed paths

  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c org.janusgraph:janusgraph-core@1.0.0-20231020-183655.ff58c43 org.apache.tinkerpop:tinkergraph-gremlin@3.7.0 org.apache.tinkerpop:gremlin-core@3.7.0 commons-beanutils:commons-beanutils@1.9.4
  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c org.janusgraph:janusgraph-core@1.0.0-20231020-183655.ff58c43 org.janusgraph:janusgraph-driver@1.0.0-20231020-183655.ff58c43 org.apache.tinkerpop:gremlin-core@3.7.0 commons-beanutils:commons-beanutils@1.9.4
  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c org.janusgraph:janusgraph-core@1.0.0-20231020-183655.ff58c43 org.janusgraph:janusgraph-driver@1.0.0-20231020-183655.ff58c43 org.apache.tinkerpop:gremlin-driver@3.7.0 org.apache.tinkerpop:gremlin-core@3.7.0 commons-beanutils:commons-beanutils@1.9.4
  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c org.janusgraph:janusgraph-core@1.0.0-20231020-183655.ff58c43 org.janusgraph:janusgraph-driver@1.0.0-20231020-183655.ff58c43 org.apache.tinkerpop:gremlin-groovy@3.7.0 org.apache.tinkerpop:gremlin-core@3.7.0 commons-beanutils:commons-beanutils@1.9.4
  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c org.janusgraph:janusgraph-core@1.0.0-20231020-183655.ff58c43 org.janusgraph:janusgraph-driver@1.0.0-20231020-183655.ff58c43 org.apache.tinkerpop:gremlin-driver@3.7.0 org.apache.tinkerpop:gremlin-util@3.7.0 org.apache.tinkerpop:gremlin-core@3.7.0 commons-beanutils:commons-beanutils@1.9.4

Overview

commons-beanutils:commons-beanutils is a provides an easy-to-use but flexible wrapper around reflection and introspection.

Affected versions of this package are vulnerable to Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection') via the getProperty and getNestedProperty methods of the PropertyUtilsBean class. An attacker can execute arbitrary code by accessing the declaredClass property of Java enum objects, which allows access to the ClassLoader.

Note:

The BeanIntrospector class that can mitigate this vulnerability was added in version 1.9.2 but its usage was not enabled by default.

Remediation

Upgrade commons-beanutils:commons-beanutils to version 1.11.0 or higher.

References

high severity

HTTP Request Smuggling

  • Vulnerable module: io.netty:netty-codec-http
  • Introduced through: org.janusgraph:janusgraph-core@1.0.0-20231020-183655.ff58c43

Detailed paths

  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c org.janusgraph:janusgraph-core@1.0.0-20231020-183655.ff58c43 org.janusgraph:janusgraph-driver@1.0.0-20231020-183655.ff58c43 org.apache.tinkerpop:gremlin-driver@3.7.0 io.netty:netty-all@4.1.86.Final io.netty:netty-codec-http@4.1.86.Final

Overview

io.netty:netty-codec-http is a network application framework for rapid development of maintainable high performance protocol servers & clients.

Affected versions of this package are vulnerable to HTTP Request Smuggling via the parsing of chunk extensions in HTTP/1.1 messages with chunked encoding. An attacker can bypass HTTP request boundaries by sending specially crafted HTTP requests that exploit differences in how standalone newline characters are parsed between reverse proxies and the backend, potentially allowing them to smuggle additional requests.

Remediation

Upgrade io.netty:netty-codec-http to version 4.1.125.Final, 4.2.5.Final or higher.

References

high severity

Improper Handling of Highly Compressed Data (Data Amplification)

  • Vulnerable module: io.netty:netty-codec-http
  • Introduced through: org.janusgraph:janusgraph-core@1.0.0-20231020-183655.ff58c43

Detailed paths

  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c org.janusgraph:janusgraph-core@1.0.0-20231020-183655.ff58c43 org.janusgraph:janusgraph-driver@1.0.0-20231020-183655.ff58c43 org.apache.tinkerpop:gremlin-driver@3.7.0 io.netty:netty-all@4.1.86.Final io.netty:netty-codec-http@4.1.86.Final

Overview

io.netty:netty-codec-http is a network application framework for rapid development of maintainable high performance protocol servers & clients.

Affected versions of this package are vulnerable to Improper Handling of Highly Compressed Data (Data Amplification) via the BrotliDecoder.decompress function, which has no limit on how often it calls pull, decompressing data 64K bytes at a time. An attacker can exhaust system memory and cause application downtime by submitting specially crafted compressed input that triggers excessive buffer allocations.

PoC

import io.netty.buffer.Unpooled;
import io.netty.channel.embedded.EmbeddedChannel;

import java.util.Base64;

public class T {
    public static void main(String[] args) {
        EmbeddedChannel channel = new EmbeddedChannel(new BrotliDecoder());
        channel.writeInbound(Unpooled.wrappedBuffer(Base64.getDecoder().decode("aPpxD1tETigSAGj6cQ8vRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROMBIAEgIaHwBETlQQVFcXlgA=")));
    }
}

Remediation

Upgrade io.netty:netty-codec-http to version 4.1.125.Final or higher.

References

high severity

Allocation of Resources Without Limits or Throttling

  • Vulnerable module: io.netty:netty-codec-http2
  • Introduced through: org.janusgraph:janusgraph-core@1.0.0-20231020-183655.ff58c43

Detailed paths

  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c org.janusgraph:janusgraph-core@1.0.0-20231020-183655.ff58c43 org.janusgraph:janusgraph-driver@1.0.0-20231020-183655.ff58c43 org.apache.tinkerpop:gremlin-driver@3.7.0 io.netty:netty-all@4.1.86.Final io.netty:netty-codec-http2@4.1.86.Final
  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c org.janusgraph:janusgraph-core@1.0.0-20231020-183655.ff58c43 org.janusgraph:janusgraph-driver@1.0.0-20231020-183655.ff58c43 org.apache.tinkerpop:gremlin-driver@3.7.0 org.apache.tinkerpop:gremlin-util@3.7.0 io.netty:netty-all@4.1.86.Final io.netty:netty-codec-http2@4.1.86.Final

Overview

io.netty:netty-codec-http2 is a HTTP2 sub package for the netty library, an event-driven asynchronous network application framework.

Affected versions of this package are vulnerable to Allocation of Resources Without Limits or Throttling through the improper handling of concurrently active streams per connection. An attacker can cause resource exhaustion and disrupt service availability by rapidly sending crafted frames, such as WINDOW_UPDATE, HEADERS, or PRIORITY, that manipulate the server's stream reset logic, leading to unbounded concurrent stream processing.

Remediation

Upgrade io.netty:netty-codec-http2 to version 4.1.124.Final, 4.2.4.Final or higher.

References

high severity

Denial of Service (DoS)

  • Vulnerable module: io.netty:netty-codec-http2
  • Introduced through: org.janusgraph:janusgraph-core@1.0.0-20231020-183655.ff58c43

Detailed paths

  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c org.janusgraph:janusgraph-core@1.0.0-20231020-183655.ff58c43 org.janusgraph:janusgraph-driver@1.0.0-20231020-183655.ff58c43 org.apache.tinkerpop:gremlin-driver@3.7.0 io.netty:netty-all@4.1.86.Final io.netty:netty-codec-http2@4.1.86.Final
    Remediation: Upgrade to org.janusgraph:janusgraph-core@1.0.1.
  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c org.janusgraph:janusgraph-core@1.0.0-20231020-183655.ff58c43 org.janusgraph:janusgraph-driver@1.0.0-20231020-183655.ff58c43 org.apache.tinkerpop:gremlin-driver@3.7.0 org.apache.tinkerpop:gremlin-util@3.7.0 io.netty:netty-all@4.1.86.Final io.netty:netty-codec-http2@4.1.86.Final
    Remediation: Upgrade to org.janusgraph:janusgraph-core@1.0.1.

Overview

io.netty:netty-codec-http2 is a HTTP2 sub package for the netty library, an event-driven asynchronous network application framework.

Affected versions of this package are vulnerable to Denial of Service (DoS) in the implementation of the HTTP/2 protocol. An attacker can cause a denial of service (including via DDoS) by rapidly resetting many streams through request cancellation.

Remediation

Upgrade io.netty:netty-codec-http2 to version 4.1.100.Final or higher.

References

high severity

Improper Handling of Highly Compressed Data (Data Amplification)

  • Vulnerable module: io.netty:netty-codec-http2
  • Introduced through: org.janusgraph:janusgraph-core@1.0.0-20231020-183655.ff58c43

Detailed paths

  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c org.janusgraph:janusgraph-core@1.0.0-20231020-183655.ff58c43 org.janusgraph:janusgraph-driver@1.0.0-20231020-183655.ff58c43 org.apache.tinkerpop:gremlin-driver@3.7.0 io.netty:netty-all@4.1.86.Final io.netty:netty-codec-http2@4.1.86.Final
  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c org.janusgraph:janusgraph-core@1.0.0-20231020-183655.ff58c43 org.janusgraph:janusgraph-driver@1.0.0-20231020-183655.ff58c43 org.apache.tinkerpop:gremlin-driver@3.7.0 org.apache.tinkerpop:gremlin-util@3.7.0 io.netty:netty-all@4.1.86.Final io.netty:netty-codec-http2@4.1.86.Final

Overview

io.netty:netty-codec-http2 is a HTTP2 sub package for the netty library, an event-driven asynchronous network application framework.

Affected versions of this package are vulnerable to Improper Handling of Highly Compressed Data (Data Amplification) via the BrotliDecoder.decompress function, which has no limit on how often it calls pull, decompressing data 64K bytes at a time. An attacker can exhaust system memory and cause application downtime by submitting specially crafted compressed input that triggers excessive buffer allocations.

PoC

import io.netty.buffer.Unpooled;
import io.netty.channel.embedded.EmbeddedChannel;

import java.util.Base64;

public class T {
    public static void main(String[] args) {
        EmbeddedChannel channel = new EmbeddedChannel(new BrotliDecoder());
        channel.writeInbound(Unpooled.wrappedBuffer(Base64.getDecoder().decode("aPpxD1tETigSAGj6cQ8vRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROKBIAaPpxD1tETigSAGj6cQ9bRE4oEgBo+nEPW0ROMBIAEgIaHwBETlQQVFcXlgA=")));
    }
}

Remediation

Upgrade io.netty:netty-codec-http2 to version 4.1.125.Final or higher.

References

high severity

XML External Entity (XXE) Injection

  • Vulnerable module: org.apache.ivy:ivy
  • Introduced through: org.janusgraph:janusgraph-core@1.0.0-20231020-183655.ff58c43

Detailed paths

  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c org.janusgraph:janusgraph-core@1.0.0-20231020-183655.ff58c43 org.janusgraph:janusgraph-driver@1.0.0-20231020-183655.ff58c43 org.apache.tinkerpop:gremlin-groovy@3.7.0 org.apache.ivy:ivy@2.5.1
    Remediation: Upgrade to org.janusgraph:janusgraph-core@1.0.1.
  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c org.janusgraph:janusgraph-core@1.0.0-20231020-183655.ff58c43 org.janusgraph:janusgraph-driver@1.0.0-20231020-183655.ff58c43 org.apache.tinkerpop:gremlin-groovy@3.7.0 org.apache.groovy:groovy-groovysh@4.0.9 org.apache.groovy:groovy-console@4.0.9 org.apache.ivy:ivy@2.5.1
    Remediation: Upgrade to org.janusgraph:janusgraph-core@1.0.1.

Overview

Affected versions of this package are vulnerable to XML External Entity (XXE) Injection. When Apache Ivy parses XML files - either its own configuration, Ivy files or Apache Maven POMs - it will allow downloading external document type definitions and expand any entity references contained therein when used.

This can be used to exfiltrate data, access resources only the machine running Ivy has access to or disturb the execution of Ivy in different ways.

Workaround

Users who are unable to upgrade to the fixed version can use Java system properties to restrict the processing of external DTDs.

Details

XXE Injection is a type of attack against an application that parses XML input. XML is a markup language that defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. By default, many XML processors allow specification of an external entity, a URI that is dereferenced and evaluated during XML processing. When an XML document is being parsed, the parser can make a request and include the content at the specified URI inside of the XML document.

Attacks can include disclosing local files, which may contain sensitive data such as passwords or private user data, using file: schemes or relative paths in the system identifier.

For example, below is a sample XML document, containing an XML element- username.

<xml>
<?xml version="1.0" encoding="ISO-8859-1"?>
   <username>John</username>
</xml>

An external XML entity - xxe, is defined using a system identifier and present within a DOCTYPE header. These entities can access local or remote content. For example the below code contains an external XML entity that would fetch the content of /etc/passwd and display it to the user rendered by username.

<xml>
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE foo [
   <!ENTITY xxe SYSTEM "file:///etc/passwd" >]>
   <username>&xxe;</username>
</xml>

Other XXE Injection attacks can access local resources that may not stop returning data, possibly impacting application availability and leading to Denial of Service.

Remediation

Upgrade org.apache.ivy:ivy to version 2.5.2 or higher.

References

high severity

Out-of-Bounds Write

  • Vulnerable module: org.apache.commons:commons-configuration2
  • Introduced through: org.janusgraph:janusgraph-core@1.0.0-20231020-183655.ff58c43

Detailed paths

  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c org.janusgraph:janusgraph-core@1.0.0-20231020-183655.ff58c43 org.apache.commons:commons-configuration2@2.9.0
    Remediation: Upgrade to org.janusgraph:janusgraph-core@1.0.1.
  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c org.janusgraph:janusgraph-core@1.0.0-20231020-183655.ff58c43 org.apache.tinkerpop:tinkergraph-gremlin@3.7.0 org.apache.tinkerpop:gremlin-core@3.7.0 org.apache.commons:commons-configuration2@2.9.0
  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c org.janusgraph:janusgraph-core@1.0.0-20231020-183655.ff58c43 org.janusgraph:janusgraph-driver@1.0.0-20231020-183655.ff58c43 org.apache.tinkerpop:gremlin-core@3.7.0 org.apache.commons:commons-configuration2@2.9.0
  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c org.janusgraph:janusgraph-core@1.0.0-20231020-183655.ff58c43 org.janusgraph:janusgraph-driver@1.0.0-20231020-183655.ff58c43 org.apache.tinkerpop:gremlin-driver@3.7.0 org.apache.tinkerpop:gremlin-core@3.7.0 org.apache.commons:commons-configuration2@2.9.0
  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c org.janusgraph:janusgraph-core@1.0.0-20231020-183655.ff58c43 org.janusgraph:janusgraph-driver@1.0.0-20231020-183655.ff58c43 org.apache.tinkerpop:gremlin-groovy@3.7.0 org.apache.tinkerpop:gremlin-core@3.7.0 org.apache.commons:commons-configuration2@2.9.0
  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c org.janusgraph:janusgraph-core@1.0.0-20231020-183655.ff58c43 org.janusgraph:janusgraph-driver@1.0.0-20231020-183655.ff58c43 org.apache.tinkerpop:gremlin-driver@3.7.0 org.apache.tinkerpop:gremlin-util@3.7.0 org.apache.tinkerpop:gremlin-core@3.7.0 org.apache.commons:commons-configuration2@2.9.0

Overview

org.apache.commons:commons-configuration2 is a group of tools to assist in the reading of configuration/preferences files in various formats.

Affected versions of this package are vulnerable to Out-of-Bounds Write due to the improper handling of a cyclical object tree when calling the ListDelimiterHandler.flatten method. An attacker can trigger a StackOverflowError and potentially cause a denial of service condition by submitting a specially crafted configuration object.

Remediation

Upgrade org.apache.commons:commons-configuration2 to version 2.10.1 or higher.

References

high severity

Out-of-Bounds Write

  • Vulnerable module: org.apache.commons:commons-configuration2
  • Introduced through: org.janusgraph:janusgraph-core@1.0.0-20231020-183655.ff58c43

Detailed paths

  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c org.janusgraph:janusgraph-core@1.0.0-20231020-183655.ff58c43 org.apache.commons:commons-configuration2@2.9.0
    Remediation: Upgrade to org.janusgraph:janusgraph-core@1.0.1.
  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c org.janusgraph:janusgraph-core@1.0.0-20231020-183655.ff58c43 org.apache.tinkerpop:tinkergraph-gremlin@3.7.0 org.apache.tinkerpop:gremlin-core@3.7.0 org.apache.commons:commons-configuration2@2.9.0
  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c org.janusgraph:janusgraph-core@1.0.0-20231020-183655.ff58c43 org.janusgraph:janusgraph-driver@1.0.0-20231020-183655.ff58c43 org.apache.tinkerpop:gremlin-core@3.7.0 org.apache.commons:commons-configuration2@2.9.0
  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c org.janusgraph:janusgraph-core@1.0.0-20231020-183655.ff58c43 org.janusgraph:janusgraph-driver@1.0.0-20231020-183655.ff58c43 org.apache.tinkerpop:gremlin-driver@3.7.0 org.apache.tinkerpop:gremlin-core@3.7.0 org.apache.commons:commons-configuration2@2.9.0
  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c org.janusgraph:janusgraph-core@1.0.0-20231020-183655.ff58c43 org.janusgraph:janusgraph-driver@1.0.0-20231020-183655.ff58c43 org.apache.tinkerpop:gremlin-groovy@3.7.0 org.apache.tinkerpop:gremlin-core@3.7.0 org.apache.commons:commons-configuration2@2.9.0
  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c org.janusgraph:janusgraph-core@1.0.0-20231020-183655.ff58c43 org.janusgraph:janusgraph-driver@1.0.0-20231020-183655.ff58c43 org.apache.tinkerpop:gremlin-driver@3.7.0 org.apache.tinkerpop:gremlin-util@3.7.0 org.apache.tinkerpop:gremlin-core@3.7.0 org.apache.commons:commons-configuration2@2.9.0

Overview

org.apache.commons:commons-configuration2 is a group of tools to assist in the reading of configuration/preferences files in various formats.

Affected versions of this package are vulnerable to Out-of-Bounds Write due to the improper handling of certain configurations in the AbstractListDelimiterHandler.flattenIterator method. An attacker can trigger a stack overflow by submitting a crafted configuration file or input, leading to a denial of service condition.

Remediation

Upgrade org.apache.commons:commons-configuration2 to version 2.10.1 or higher.

References

high severity

Denial of Service (DoS)

  • Vulnerable module: ch.qos.logback:logback-classic
  • Introduced through: ch.qos.logback:logback-classic@1.4.7

Detailed paths

  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c ch.qos.logback:logback-classic@1.4.7
    Remediation: Upgrade to ch.qos.logback:logback-classic@1.4.12.

Overview

ch.qos.logback:logback-classic is a reliable, generic, fast and flexible logging library for Java.

Affected versions of this package are vulnerable to Denial of Service (DoS). An attacker can mount a denial-of-service attack by sending poisoned data. This is only exploitable if logback receiver component is deployed.

Details

Denial of Service (DoS) describes a family of attacks, all aimed at making a system inaccessible to its intended and legitimate users.

Unlike other vulnerabilities, DoS attacks usually do not aim at breaching security. Rather, they are focused on making websites and services unavailable to genuine users resulting in downtime.

One popular Denial of Service vulnerability is DDoS (a Distributed Denial of Service), an attack that attempts to clog network pipes to the system by generating a large volume of traffic from many machines.

When it comes to open source libraries, DoS vulnerabilities allow attackers to trigger such a crash or crippling of the service by using a flaw either in the application code or from the use of open source libraries.

Two common types of DoS vulnerabilities:

  • High CPU/Memory Consumption- An attacker sending crafted requests that could cause the system to take a disproportionate amount of time to process. For example, commons-fileupload:commons-fileupload.

  • Crash - An attacker sending crafted requests that could cause the system to crash. For Example, npm ws package

Remediation

Upgrade ch.qos.logback:logback-classic to version 1.2.13, 1.3.12, 1.4.12 or higher.

References

high severity

Uncontrolled Resource Consumption ('Resource Exhaustion')

  • Vulnerable module: ch.qos.logback:logback-classic
  • Introduced through: ch.qos.logback:logback-classic@1.4.7

Detailed paths

  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c ch.qos.logback:logback-classic@1.4.7
    Remediation: Upgrade to ch.qos.logback:logback-classic@1.4.14.

Overview

ch.qos.logback:logback-classic is a reliable, generic, fast and flexible logging library for Java.

Affected versions of this package are vulnerable to Uncontrolled Resource Consumption ('Resource Exhaustion') via the logback receiver component. An attacker can mount a denial-of-service attack by sending poisoned data.

Note:

Successful exploitation requires the logback-receiver component being enabled and also reachable by the attacker.

Remediation

Upgrade ch.qos.logback:logback-classic to version 1.2.13, 1.3.14, 1.4.14 or higher.

References

high severity

Denial of Service (DoS)

  • Vulnerable module: ch.qos.logback:logback-core
  • Introduced through: ch.qos.logback:logback-classic@1.4.7

Detailed paths

  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c ch.qos.logback:logback-classic@1.4.7 ch.qos.logback:logback-core@1.4.7
    Remediation: Upgrade to ch.qos.logback:logback-classic@1.4.12.

Overview

ch.qos.logback:logback-core is a logback-core module.

Affected versions of this package are vulnerable to Denial of Service (DoS). An attacker can mount a denial-of-service attack by sending poisoned data. This is only exploitable if logback receiver component is deployed.

Details

Denial of Service (DoS) describes a family of attacks, all aimed at making a system inaccessible to its intended and legitimate users.

Unlike other vulnerabilities, DoS attacks usually do not aim at breaching security. Rather, they are focused on making websites and services unavailable to genuine users resulting in downtime.

One popular Denial of Service vulnerability is DDoS (a Distributed Denial of Service), an attack that attempts to clog network pipes to the system by generating a large volume of traffic from many machines.

When it comes to open source libraries, DoS vulnerabilities allow attackers to trigger such a crash or crippling of the service by using a flaw either in the application code or from the use of open source libraries.

Two common types of DoS vulnerabilities:

  • High CPU/Memory Consumption- An attacker sending crafted requests that could cause the system to take a disproportionate amount of time to process. For example, commons-fileupload:commons-fileupload.

  • Crash - An attacker sending crafted requests that could cause the system to crash. For Example, npm ws package

Remediation

Upgrade ch.qos.logback:logback-core to version 1.2.13, 1.3.12, 1.4.12 or higher.

References

high severity

Uncontrolled Resource Consumption ('Resource Exhaustion')

  • Vulnerable module: ch.qos.logback:logback-core
  • Introduced through: ch.qos.logback:logback-classic@1.4.7

Detailed paths

  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c ch.qos.logback:logback-classic@1.4.7 ch.qos.logback:logback-core@1.4.7
    Remediation: Upgrade to ch.qos.logback:logback-classic@1.4.14.

Overview

ch.qos.logback:logback-core is a logback-core module.

Affected versions of this package are vulnerable to Uncontrolled Resource Consumption ('Resource Exhaustion') via the logback receiver component. An attacker can mount a denial-of-service attack by sending poisoned data.

Note:

Successful exploitation requires the logback-receiver component being enabled and also reachable by the attacker.

Remediation

Upgrade ch.qos.logback:logback-core to version 1.2.13, 1.3.14, 1.4.14 or higher.

References

high severity

Multiple licenses: EPL-1.0, GPL-2.0, LGPL-2.1

  • Module: com.github.jnr:jnr-posix
  • Introduced through: com.orientechnologies:orientdb-client@3.2.23

Detailed paths

  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c com.orientechnologies:orientdb-client@3.2.23 com.orientechnologies:orientdb-core@3.2.23 com.github.jnr:jnr-posix@3.1.15

Multiple licenses: EPL-1.0, GPL-2.0, LGPL-2.1

medium severity

Allocation of Resources Without Limits or Throttling

  • Vulnerable module: commons-configuration:commons-configuration
  • Introduced through: org.janusgraph:janusgraph-core@1.0.0-20231020-183655.ff58c43

Detailed paths

  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c org.janusgraph:janusgraph-core@1.0.0-20231020-183655.ff58c43 commons-configuration:commons-configuration@1.10

Overview

Affected versions of this package are vulnerable to Allocation of Resources Without Limits or Throttling due several issues in the loading of untrusted configurations. An attacker can cause excessive resource consumption by manipulating the configuration data or introducing unexpected usage patterns. Users affected by this issue are recommended to upgrade to the 2.x version line org.apache.commons:commons-configuration2, which fixes these issues.

Note: This is only exploitable if the application is configured to load untrusted configurations.

Remediation

There is no fixed version for commons-configuration:commons-configuration.

References

medium severity
new

CRLF Injection

  • Vulnerable module: io.netty:netty-codec-smtp
  • Introduced through: org.janusgraph:janusgraph-core@1.0.0-20231020-183655.ff58c43

Detailed paths

  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c org.janusgraph:janusgraph-core@1.0.0-20231020-183655.ff58c43 org.janusgraph:janusgraph-driver@1.0.0-20231020-183655.ff58c43 org.apache.tinkerpop:gremlin-driver@3.7.0 io.netty:netty-all@4.1.86.Final io.netty:netty-codec-smtp@4.1.86.Final
  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c org.janusgraph:janusgraph-core@1.0.0-20231020-183655.ff58c43 org.janusgraph:janusgraph-driver@1.0.0-20231020-183655.ff58c43 org.apache.tinkerpop:gremlin-driver@3.7.0 org.apache.tinkerpop:gremlin-util@3.7.0 io.netty:netty-all@4.1.86.Final io.netty:netty-codec-smtp@4.1.86.Final

Overview

Affected versions of this package are vulnerable to CRLF Injection via insufficient input validation in the DefaultSmtpRequest process. An attacker can inject arbitrary SMTP commands by supplying malicious parameters containing CRLF sequences, allowing the sending of forged emails that appear to originate from a trusted server.

Remediation

Upgrade io.netty:netty-codec-smtp to version 4.1.128.Final, 4.2.7.Final or higher.

References

medium severity

Improper Neutralization of Special Elements

  • Vulnerable module: ch.qos.logback:logback-classic
  • Introduced through: ch.qos.logback:logback-classic@1.4.7

Detailed paths

  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c ch.qos.logback:logback-classic@1.4.7
    Remediation: Upgrade to ch.qos.logback:logback-classic@1.5.13.

Overview

ch.qos.logback:logback-classic is a reliable, generic, fast and flexible logging library for Java.

Affected versions of this package are vulnerable to Improper Neutralization of Special Elements via the JaninoEventEvaluator extension. An attacker can execute arbitrary code by compromising an existing logback configuration file or injecting an environment variable before program execution.

Remediation

Upgrade ch.qos.logback:logback-classic to version 1.3.15, 1.5.13 or higher.

References

medium severity

External Initialization of Trusted Variables or Data Stores

  • Vulnerable module: ch.qos.logback:logback-core
  • Introduced through: ch.qos.logback:logback-classic@1.4.7

Detailed paths

  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c ch.qos.logback:logback-classic@1.4.7 ch.qos.logback:logback-core@1.4.7
    Remediation: Upgrade to ch.qos.logback:logback-classic@1.5.19.

Overview

ch.qos.logback:logback-core is a logback-core module.

Affected versions of this package are vulnerable to External Initialization of Trusted Variables or Data Stores via the conditional processing of the logback.xml configuration file when both the Janino library and Spring Framework are present on the class path. An attacker can execute arbitrary code by compromising an existing configuration file or injecting a malicious environment variable before program execution. This is only exploitable if the attacker has write access to a configuration file or can set a malicious environment variable.

Remediation

Upgrade ch.qos.logback:logback-core to version 1.5.19 or higher.

References

medium severity

Improper Neutralization of Special Elements

  • Vulnerable module: ch.qos.logback:logback-core
  • Introduced through: ch.qos.logback:logback-classic@1.4.7

Detailed paths

  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c ch.qos.logback:logback-classic@1.4.7 ch.qos.logback:logback-core@1.4.7
    Remediation: Upgrade to ch.qos.logback:logback-classic@1.5.13.

Overview

ch.qos.logback:logback-core is a logback-core module.

Affected versions of this package are vulnerable to Improper Neutralization of Special Elements via the JaninoEventEvaluator extension. An attacker can execute arbitrary code by compromising an existing logback configuration file or injecting an environment variable before program execution.

Remediation

Upgrade ch.qos.logback:logback-core to version 1.3.15, 1.5.13 or higher.

References

medium severity

Allocation of Resources Without Limits or Throttling

  • Vulnerable module: io.netty:netty-codec-http
  • Introduced through: org.janusgraph:janusgraph-core@1.0.0-20231020-183655.ff58c43

Detailed paths

  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c org.janusgraph:janusgraph-core@1.0.0-20231020-183655.ff58c43 org.janusgraph:janusgraph-driver@1.0.0-20231020-183655.ff58c43 org.apache.tinkerpop:gremlin-driver@3.7.0 io.netty:netty-all@4.1.86.Final io.netty:netty-codec-http@4.1.86.Final

Overview

io.netty:netty-codec-http is a network application framework for rapid development of maintainable high performance protocol servers & clients.

Affected versions of this package are vulnerable to Allocation of Resources Without Limits or Throttling due to the accumulation of data in the HttpPostRequestDecoder. The decoder cumulates bytes in the undecodedChunk buffer until it can decode a field, allowing for data to accumulate without limits.

An attacker can cause a denial of service by sending a chunked post consisting of many small fields that will be accumulated in the bodyListHttpData list.

Remediation

Upgrade io.netty:netty-codec-http to version 4.1.108.Final or higher.

References

medium severity

Dual license: EPL-1.0, LGPL-2.1

  • Module: ch.qos.logback:logback-classic
  • Introduced through: ch.qos.logback:logback-classic@1.4.7

Detailed paths

  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c ch.qos.logback:logback-classic@1.4.7

Dual license: EPL-1.0, LGPL-2.1

medium severity

Dual license: EPL-1.0, LGPL-2.1

  • Module: ch.qos.logback:logback-core
  • Introduced through: ch.qos.logback:logback-classic@1.4.7

Detailed paths

  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c ch.qos.logback:logback-classic@1.4.7 ch.qos.logback:logback-core@1.4.7

Dual license: EPL-1.0, LGPL-2.1

low severity

Information Exposure

  • Vulnerable module: org.jetbrains.kotlin:kotlin-stdlib
  • Introduced through: org.jetbrains.kotlin:kotlin-reflect@1.8.21 and org.jetbrains.kotlin:kotlin-stdlib-jdk8@1.8.21

Detailed paths

  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c org.jetbrains.kotlin:kotlin-reflect@1.8.21 org.jetbrains.kotlin:kotlin-stdlib@1.8.21
    Remediation: Upgrade to org.jetbrains.kotlin:kotlin-reflect@2.1.0.
  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c org.jetbrains.kotlin:kotlin-stdlib-jdk8@1.8.21 org.jetbrains.kotlin:kotlin-stdlib@1.8.21
    Remediation: Upgrade to org.jetbrains.kotlin:kotlin-stdlib-jdk8@2.1.0.
  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c org.jetbrains.kotlin:kotlin-stdlib-jdk8@1.8.21 org.jetbrains.kotlin:kotlin-stdlib-jdk7@1.8.21 org.jetbrains.kotlin:kotlin-stdlib@1.8.21
    Remediation: Upgrade to org.jetbrains.kotlin:kotlin-stdlib-jdk8@2.1.0.

Overview

org.jetbrains.kotlin:kotlin-stdlib is a Kotlin Standard Library for JVM.

Affected versions of this package are vulnerable to Information Exposure. A Kotlin application using createTempDir or createTempFile and placing sensitive information within either of these locations would be leaking this information in a read-only way to other users also on this system.

Note: As of version 1.4.21, the vulnerable functions have been marked as deprecated. Due to still being usable, this advisory is kept as "unfixed".

PoC by JLLeitschuh

package org.jlleitschuh.sandbox

import org.junit.jupiter.api.Test
import java.io.BufferedReader
import java.io.File
import java.io.IOException
import java.io.InputStreamReader
import java.nio.file.Files

class KotlinTempDirectoryPermissionCheck {
    @Test
    fun `kotlin check default directory permissions`() {
        val dir = createTempDir()
        runLS(dir.parentFile, dir) // Prints drwxr-xr-x
    }

    @Test
    fun `Files check default directory permissions`() {
        val dir = Files.createTempDirectory("random-directory")
        runLS(dir.toFile().parentFile, dir.toFile()) // Prints drwx------
    }

    @Test
    fun `kotlin check default file permissions`() {
        val file = createTempFile()
        runLS(file.parentFile, file) // Prints -rw-r--r--
    }

    @Test
    fun `Files check default file permissions`() {
        val file = Files.createTempFile("random-file", ".txt")
        runLS(file.toFile().parentFile, file.toFile()) // Prints -rw-------
    }

    private fun runLS(file: File, lookingFor: File) {
        val processBuilder = ProcessBuilder()
        processBuilder.command("ls", "-l", file.absolutePath)
        try {
            val process = processBuilder.start()
            val output = StringBuilder()
            val reader = BufferedReader(
                InputStreamReader(process.inputStream)
            )
            reader.lines().forEach { line ->
                if (line.contains("total")) {
                    output.append(line).append('\n')
                }
                if (line.contains(lookingFor.name)) {
                    output.append(line).append('\n')
                }
            }
            val exitVal = process.waitFor()
            if (exitVal == 0) {
                println("Success!")
                println(output)
            } else {
                //abnormal...
            }
        } catch (e: IOException) {
            e.printStackTrace()
        } catch (e: InterruptedException) {
            e.printStackTrace()
        }
    }
}

Remediation

Upgrade org.jetbrains.kotlin:kotlin-stdlib to version 2.1.0 or higher.

References

low severity

Server-side Request Forgery (SSRF)

  • Vulnerable module: ch.qos.logback:logback-core
  • Introduced through: ch.qos.logback:logback-classic@1.4.7

Detailed paths

  • Introduced through: robfrank/testcontainers-examples@robfrank/testcontainers-examples#c1421a21c8e1c0304af90070e0fdf87fe214a09c ch.qos.logback:logback-classic@1.4.7 ch.qos.logback:logback-core@1.4.7
    Remediation: Upgrade to ch.qos.logback:logback-classic@1.5.13.

Overview

ch.qos.logback:logback-core is a logback-core module.

Affected versions of this package are vulnerable to Server-side Request Forgery (SSRF) through the SaxEventRecorder process. An attacker can forge requests by compromising logback configuration files in XML.

Remediation

Upgrade ch.qos.logback:logback-core to version 1.3.15, 1.5.13 or higher.

References