Vulnerabilities

4 via 4 paths

Dependencies

19

Source

GitHub

Find, fix and prevent vulnerabilities in your code.

Issue type
  • 4
  • 3
Severity
  • 2
  • 5
Status
  • 7
  • 0
  • 0

high severity

Uncontrolled Recursion

  • Vulnerable module: commons-lang:commons-lang
  • Introduced through: commons-lang:commons-lang@2.6

Detailed paths

  • Introduced through: WouterVerleur/D-D-Charactersheets-and-battle-control@WouterVerleur/D-D-Charactersheets-and-battle-control 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
new

Allocation of Resources Without Limits or Throttling

  • Vulnerable module: org.jsoup:jsoup
  • Introduced through: org.jsoup:jsoup@1.23.1

Detailed paths

  • Introduced through: WouterVerleur/D-D-Charactersheets-and-battle-control@WouterVerleur/D-D-Charactersheets-and-battle-control org.jsoup:jsoup@1.23.1
    Remediation: Upgrade to org.jsoup:jsoup@1.23.2.

Overview

org.jsoup:jsoup is a Java library for working with real-world HTML. It provides a very convenient API for extracting and manipulating data, using the best of DOM, CSS, and jquery-like methods. jsoup implements the WHATWG HTML5 specification, and parses HTML to the same DOM as modern browsers do.

Affected versions of this package are vulnerable to Allocation of Resources Without Limits or Throttling via the XmlTreeBuilder namespace scope tracking in src/main/java/org/jsoup/parser/XmlTreeBuilder.java. An attacker can exhaust JVM heap memory and terminate the application by supplying a deeply nested XML document with uniquely named namespace declarations. The parser copies the inherited namespace map on each start element, so parsing documents with many nested namespace bindings grows quadratically in time and retained memory. This can trigger an OutOfMemoryError in applications that accept untrusted XML input.

Remediation

Upgrade org.jsoup:jsoup to version 1.23.2 or higher.

References

medium severity
new

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

  • Vulnerable module: com.fasterxml.jackson.core:jackson-databind
  • Introduced through: com.fasterxml.jackson.core:jackson-databind@2.22.1

Detailed paths

  • Introduced through: WouterVerleur/D-D-Charactersheets-and-battle-control@WouterVerleur/D-D-Charactersheets-and-battle-control com.fasterxml.jackson.core:jackson-databind@2.22.1
    Remediation: Upgrade to com.fasterxml.jackson.core:jackson-databind@2.22.2.

Overview

com.fasterxml.jackson.core:jackson-databind is a library which contains the general-purpose data-binding functionality and tree-model for Jackson Data Processor.

Affected versions of this package are vulnerable to Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection') through NioPathDeserializer in src/main/java/com/fasterxml/jackson/databind/ext/NioPathDeserializer.java. An attacker can force readValue() to resolve an attacker-controlled java.nio.file.Path URI by supplying a non-file scheme such as jar:, http:, s3:, or a custom provider scheme in untrusted JSON. That input reaches new URI(value) and then Path.of(uri), which falls back to ServiceLoader<FileSystemProvider> resolution and can invoke a matching provider’s getPath(uri) during deserialization. The result is unintended provider loading and provider-driven path handling inside the application, which can trigger denial of service or other side effects depending on what FileSystemProvider implementations are present on the classpath.

Remediation

Upgrade com.fasterxml.jackson.core:jackson-databind to version 2.18.10, 2.21.6, 2.22.2 or higher.

References

medium severity
new

Deserialization of Untrusted Data

  • Vulnerable module: com.fasterxml.jackson.core:jackson-databind
  • Introduced through: com.fasterxml.jackson.core:jackson-databind@2.22.1

Detailed paths

  • Introduced through: WouterVerleur/D-D-Charactersheets-and-battle-control@WouterVerleur/D-D-Charactersheets-and-battle-control com.fasterxml.jackson.core:jackson-databind@2.22.1
    Remediation: Upgrade to com.fasterxml.jackson.core:jackson-databind@2.22.2.

Overview

com.fasterxml.jackson.core:jackson-databind is a library which contains the general-purpose data-binding functionality and tree-model for Jackson Data Processor.

Affected versions of this package are vulnerable to Deserialization of Untrusted Data in the isSafeSubType() method of DefaultBaseTypeLimitingValidator, whose denylist of unsafe base types omits java.lang.Comparable, so the method returns true for any subtype resolved under a Comparable base. An attacker can trigger instantiation of arbitrary classes that implement Comparable, such as java.io.File to reach path-traversal primitives, by sending JSON with attacker-controlled type identifiers. This requires the application to use a bare @JsonTypeInfo with the default validator and no explicit PolymorphicTypeValidator, and a property or class whose declared base type is Comparable.

Workaround

This vulnerability can be avoided by configuring an explicit restrictive PolymorphicTypeValidator, such as a BasicPolymorphicTypeValidator allowlist passed to activateDefaultTyping(), instead of relying on the default validator.

Note: The discoverer of this vulnerability reports that "I have not identified a class implementing Comparable that yields code execution purely through deserialization".

Details

Serialization is a process of converting an object into a sequence of bytes which can be persisted to a disk or database or can be sent through streams. The reverse process of creating object from sequence of bytes is called deserialization. Serialization is commonly used for communication (sharing objects between multiple hosts) and persistence (store the object state in a file or a database). It is an integral part of popular protocols like Remote Method Invocation (RMI), Java Management Extension (JMX), Java Messaging System (JMS), Action Message Format (AMF), Java Server Faces (JSF) ViewState, etc.

Deserialization of untrusted data (CWE-502) is when the application deserializes untrusted data without sufficiently verifying that the resulting data will be valid, thus allowing the attacker to control the state or the flow of the execution.

Remediation

Upgrade com.fasterxml.jackson.core:jackson-databind to version 2.18.10, 2.21.6, 2.22.2 or higher.

References

medium severity

LGPL-2.1 license

  • Module: com.openhtmltopdf:openhtmltopdf-core
  • Introduced through: com.openhtmltopdf:openhtmltopdf-pdfbox@1.0.10

Detailed paths

  • Introduced through: WouterVerleur/D-D-Charactersheets-and-battle-control@WouterVerleur/D-D-Charactersheets-and-battle-control com.openhtmltopdf:openhtmltopdf-pdfbox@1.0.10 com.openhtmltopdf:openhtmltopdf-core@1.0.10

LGPL-2.1 license

medium severity

LGPL-2.1 license

  • Module: com.openhtmltopdf:openhtmltopdf-pdfbox
  • Introduced through: com.openhtmltopdf:openhtmltopdf-pdfbox@1.0.10

Detailed paths

  • Introduced through: WouterVerleur/D-D-Charactersheets-and-battle-control@WouterVerleur/D-D-Charactersheets-and-battle-control com.openhtmltopdf:openhtmltopdf-pdfbox@1.0.10

LGPL-2.1 license

medium severity

EPL-1.0 license

  • Module: junit:junit
  • Introduced through: org.apache.pdfbox:pdfbox@2.0.24 and com.openhtmltopdf:openhtmltopdf-pdfbox@1.0.10

Detailed paths

  • Introduced through: WouterVerleur/D-D-Charactersheets-and-battle-control@WouterVerleur/D-D-Charactersheets-and-battle-control org.apache.pdfbox:pdfbox@2.0.24 org.apache.pdfbox:fontbox@2.0.24 junit:junit@4.13.2
  • Introduced through: WouterVerleur/D-D-Charactersheets-and-battle-control@WouterVerleur/D-D-Charactersheets-and-battle-control com.openhtmltopdf:openhtmltopdf-pdfbox@1.0.10 org.apache.pdfbox:xmpbox@2.0.24 junit:junit@4.13.2
  • Introduced through: WouterVerleur/D-D-Charactersheets-and-battle-control@WouterVerleur/D-D-Charactersheets-and-battle-control com.openhtmltopdf:openhtmltopdf-pdfbox@1.0.10 org.apache.pdfbox:pdfbox@2.0.24 org.apache.pdfbox:fontbox@2.0.24 junit:junit@4.13.2

EPL-1.0 license