Vulnerabilities

13 via 15 paths

Dependencies

13

Source

GitHub

Commit

c98cc259

Find, fix and prevent vulnerabilities in your code.

Severity
  • 2
  • 10
  • 1
Status
  • 13
  • 0
  • 0

high severity

Stack-based Buffer Overflow

  • Vulnerable module: com.google.protobuf:protobuf-javalite
  • Introduced through: com.google.protobuf:protobuf-javalite@3.10.0

Detailed paths

  • Introduced through: XYOracleNetwork/sdk-xyo-flutter@XYOracleNetwork/sdk-xyo-flutter#c98cc259eb70941c3349bcffa96c3ee211137c48 com.google.protobuf:protobuf-javalite@3.10.0
    Remediation: Upgrade to com.google.protobuf:protobuf-javalite@3.25.5.

Overview

Affected versions of this package are vulnerable to Stack-based Buffer Overflow via the parsing of nested groups or series of SGROUP tags as unknown fields with DiscardUnknownFieldsParser or Java Protobuf Lite parser, or against Protobuf map fields. An attacker can cause infinite recursion by sending malicious Protocol Buffer data.

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.google.protobuf:protobuf-javalite to version 3.25.5, 4.27.5, 4.28.2 or higher.

References

high severity

Denial of Service (DoS)

  • Vulnerable module: com.google.protobuf:protobuf-javalite
  • Introduced through: com.google.protobuf:protobuf-javalite@3.10.0

Detailed paths

  • Introduced through: XYOracleNetwork/sdk-xyo-flutter@XYOracleNetwork/sdk-xyo-flutter#c98cc259eb70941c3349bcffa96c3ee211137c48 com.google.protobuf:protobuf-javalite@3.10.0
    Remediation: Upgrade to com.google.protobuf:protobuf-javalite@3.16.3.

Overview

Affected versions of this package are vulnerable to Denial of Service (DoS) in MessageReflection.java due to a text format parsing issue. Inputs containing multiple instances of non-repeated embedded messages with repeated or unknown fields causes objects to be converted back and forth between mutable and immutable forms, resulting in potentially long garbage collection pauses.

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.google.protobuf:protobuf-javalite to version 3.16.3, 3.19.6, 3.20.3, 3.21.7 or higher.

References

medium severity

Allocation of Resources Without Limits or Throttling

  • Vulnerable module: org.bouncycastle:bcprov-jdk15on
  • Introduced through: org.bouncycastle:bcpkix-jdk15on@1.64

Detailed paths

  • Introduced through: XYOracleNetwork/sdk-xyo-flutter@XYOracleNetwork/sdk-xyo-flutter#c98cc259eb70941c3349bcffa96c3ee211137c48 org.bouncycastle:bcpkix-jdk15on@1.64 org.bouncycastle:bcprov-jdk15on@1.64

Overview

org.bouncycastle:bcprov-jdk15on is a Java implementation of cryptographic algorithms.

Affected versions of this package are vulnerable to Allocation of Resources Without Limits or Throttling via the ASN1ObjectIdentifier. An attacker can cause excessive resource consumption by submitting specially crafted ASN.1 Object Identifiers, potentially leading to service disruption.

Note: This issue only applies to applications which do consume unvetted, or otherwise unvalidated, ASN.1 encodings.

Remediation

A fix was pushed into the master branch but not yet published.

References

medium severity

Allocation of Resources Without Limits or Throttling

  • Vulnerable module: org.bouncycastle:bcprov-jdk15on
  • Introduced through: org.bouncycastle:bcpkix-jdk15on@1.64

Detailed paths

  • Introduced through: XYOracleNetwork/sdk-xyo-flutter@XYOracleNetwork/sdk-xyo-flutter#c98cc259eb70941c3349bcffa96c3ee211137c48 org.bouncycastle:bcpkix-jdk15on@1.64 org.bouncycastle:bcprov-jdk15on@1.64

Overview

org.bouncycastle:bcprov-jdk15on is a Java implementation of cryptographic algorithms.

Affected versions of this package are vulnerable to Allocation of Resources Without Limits or Throttling due to improper processing of large name constraint structures in PKIXCertPathReviewer. An attacker can cause excessive resource allocation by submitting specially crafted ASN.1 objects, potentially leading to service disruption.

Workaround

This vulnerability can be mitigated by limiting the size of ASN.1 objects that can be loaded from untrusted sources, thereby capping the maximum size of a Name Constraints structure.

Remediation

A fix was pushed into the master branch but not yet published.

References

medium severity

Observable Discrepancy

  • Vulnerable module: org.bouncycastle:bcprov-jdk15on
  • Introduced through: org.bouncycastle:bcpkix-jdk15on@1.64

Detailed paths

  • Introduced through: XYOracleNetwork/sdk-xyo-flutter@XYOracleNetwork/sdk-xyo-flutter#c98cc259eb70941c3349bcffa96c3ee211137c48 org.bouncycastle:bcpkix-jdk15on@1.64 org.bouncycastle:bcprov-jdk15on@1.64

Overview

org.bouncycastle:bcprov-jdk15on is a Java implementation of cryptographic algorithms.

Affected versions of this package are vulnerable to Observable Discrepancy due to the timing difference between exceptions thrown when processing RSA key exchange handshakes, AKA Marvin.

Note: The implemented fix mitigates the leakage of data via the PKCS#1 interface, but does not fully alleviate the side-channel as it allows cases in which the padding check fails but the handshake succeeds.

Remediation

There is no fixed version for org.bouncycastle:bcprov-jdk15on.

References

medium severity

Denial of Service (DoS)

  • Vulnerable module: com.google.protobuf:protobuf-javalite
  • Introduced through: com.google.protobuf:protobuf-javalite@3.10.0

Detailed paths

  • Introduced through: XYOracleNetwork/sdk-xyo-flutter@XYOracleNetwork/sdk-xyo-flutter#c98cc259eb70941c3349bcffa96c3ee211137c48 com.google.protobuf:protobuf-javalite@3.10.0
    Remediation: Upgrade to com.google.protobuf:protobuf-javalite@3.16.3.

Overview

Affected versions of this package are vulnerable to Denial of Service (DoS) via the parsing procedure for binary and text format data. Input streams containing multiple instances of non-repeated embedded messages with repeated or unknown fields cause objects to be converted back and forth between mutable and immutable forms, resulting in potentially long garbage collection pauses.

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.google.protobuf:protobuf-javalite to version 3.16.3, 3.19.6, 3.20.3, 3.21.7 or higher.

References

medium severity

Uncontrolled Resource Consumption ('Resource Exhaustion')

  • Vulnerable module: org.bouncycastle:bcprov-jdk15on
  • Introduced through: org.bouncycastle:bcpkix-jdk15on@1.64

Detailed paths

  • Introduced through: XYOracleNetwork/sdk-xyo-flutter@XYOracleNetwork/sdk-xyo-flutter#c98cc259eb70941c3349bcffa96c3ee211137c48 org.bouncycastle:bcpkix-jdk15on@1.64 org.bouncycastle:bcprov-jdk15on@1.64

Overview

org.bouncycastle:bcprov-jdk15on is a Java implementation of cryptographic algorithms.

Affected versions of this package are vulnerable to Uncontrolled Resource Consumption ('Resource Exhaustion') within the org.bouncycastle.openssl.PEMParser class. Parsing a file that has crafted ASN.1 data through the PEMParser causes an OutOfMemoryError.

Workaround

The attack can be avoided by filtering PEM requests containing EXTERNAL tagged encodings.

Remediation

There is no fixed version for org.bouncycastle:bcprov-jdk15on.

References

medium severity

Allocation of Resources Without Limits or Throttling

  • Vulnerable module: org.bouncycastle:bcprov-jdk15on
  • Introduced through: org.bouncycastle:bcpkix-jdk15on@1.64

Detailed paths

  • Introduced through: XYOracleNetwork/sdk-xyo-flutter@XYOracleNetwork/sdk-xyo-flutter#c98cc259eb70941c3349bcffa96c3ee211137c48 org.bouncycastle:bcpkix-jdk15on@1.64 org.bouncycastle:bcprov-jdk15on@1.64

Overview

org.bouncycastle:bcprov-jdk15on is a Java implementation of cryptographic algorithms.

Affected versions of this package are vulnerable to Allocation of Resources Without Limits or Throttling in the solveQuadraticEquation() function used for certificate verification in ECCurve.java. Passing a large f2m parameter can cause excessive CPU consumption.

Remediation

There is no fixed version for org.bouncycastle:bcprov-jdk15on.

References

medium severity

Timing Attack

  • Vulnerable module: org.bouncycastle:bcprov-jdk15on
  • Introduced through: org.bouncycastle:bcpkix-jdk15on@1.64

Detailed paths

  • Introduced through: XYOracleNetwork/sdk-xyo-flutter@XYOracleNetwork/sdk-xyo-flutter#c98cc259eb70941c3349bcffa96c3ee211137c48 org.bouncycastle:bcpkix-jdk15on@1.64 org.bouncycastle:bcprov-jdk15on@1.64
    Remediation: Upgrade to org.bouncycastle:bcpkix-jdk15on@1.66.

Overview

org.bouncycastle:bcprov-jdk15on is a Java implementation of cryptographic algorithms.

Affected versions of this package are vulnerable to Timing Attack. A timing issue within the EC math library can expose information about the private key when an attacker is able to observe timing information for the generation of multiple deterministic ECDSA signatures.

Remediation

Upgrade org.bouncycastle:bcprov-jdk15on to version 1.66 or higher.

References

medium severity

Improper Locking

  • Vulnerable module: org.jetbrains.kotlin:kotlin-stdlib
  • Introduced through: org.jetbrains.kotlin:kotlin-stdlib-jdk7@1.3.61 and org.jetbrains.kotlinx:kotlinx-coroutines-core@1.3.3

Detailed paths

  • Introduced through: XYOracleNetwork/sdk-xyo-flutter@XYOracleNetwork/sdk-xyo-flutter#c98cc259eb70941c3349bcffa96c3ee211137c48 org.jetbrains.kotlin:kotlin-stdlib-jdk7@1.3.61 org.jetbrains.kotlin:kotlin-stdlib@1.3.61
    Remediation: Upgrade to org.jetbrains.kotlin:kotlin-stdlib-jdk7@1.6.0.
  • Introduced through: XYOracleNetwork/sdk-xyo-flutter@XYOracleNetwork/sdk-xyo-flutter#c98cc259eb70941c3349bcffa96c3ee211137c48 org.jetbrains.kotlinx:kotlinx-coroutines-core@1.3.3 org.jetbrains.kotlin:kotlin-stdlib@1.3.61
    Remediation: Upgrade to org.jetbrains.kotlinx:kotlinx-coroutines-core@1.4.3.

Overview

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

Affected versions of this package are vulnerable to Improper Locking due to inability to lock dependencies for Multiplatform Gradle Projects.

Remediation

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

References

medium severity

Cryptographic Issues

  • Vulnerable module: org.bouncycastle:bcprov-jdk15on
  • Introduced through: org.bouncycastle:bcpkix-jdk15on@1.64

Detailed paths

  • Introduced through: XYOracleNetwork/sdk-xyo-flutter@XYOracleNetwork/sdk-xyo-flutter#c98cc259eb70941c3349bcffa96c3ee211137c48 org.bouncycastle:bcpkix-jdk15on@1.64 org.bouncycastle:bcprov-jdk15on@1.64
    Remediation: Upgrade to org.bouncycastle:bcpkix-jdk15on@1.69.

Overview

org.bouncycastle:bcprov-jdk15on is a Java implementation of cryptographic algorithms.

Affected versions of this package are vulnerable to Cryptographic Issues via weak key-hash message authentication code (HMAC) that is only 16 bits long which can result in hash collisions, as a result of an error within the BKS version 1 keystore (BKS-V1) files and could lead to an attacker being able to affect the integrity of these files. This vulnerability was introduced following an incomplete fix for CVE-2018-5382.

Remediation

Upgrade org.bouncycastle:bcprov-jdk15on to version 1.69 or higher.

References

medium severity

Information Exposure

  • Vulnerable module: org.bouncycastle:bcprov-jdk15on
  • Introduced through: org.bouncycastle:bcpkix-jdk15on@1.64

Detailed paths

  • Introduced through: XYOracleNetwork/sdk-xyo-flutter@XYOracleNetwork/sdk-xyo-flutter#c98cc259eb70941c3349bcffa96c3ee211137c48 org.bouncycastle:bcpkix-jdk15on@1.64 org.bouncycastle:bcprov-jdk15on@1.64

Overview

org.bouncycastle:bcprov-jdk15on is a Java implementation of cryptographic algorithms.

Affected versions of this package are vulnerable to Information Exposure due to missing validation for the X.500 name of any certificate, subject, or issuer. The presence of a wild card may lead to information disclosure. This could allow a malicious user to obtain unauthorized information via blind LDAP Injection, exploring the environment and enumerating data.

Note:

The exploit depends on the structure of the target LDAP directory as well as what kind of errors are exposed to the user.

Remediation

A fix was pushed into the master branch but not yet published.

References

low severity

Information Exposure

  • Vulnerable module: org.jetbrains.kotlin:kotlin-stdlib
  • Introduced through: org.jetbrains.kotlin:kotlin-stdlib-jdk7@1.3.61 and org.jetbrains.kotlinx:kotlinx-coroutines-core@1.3.3

Detailed paths

  • Introduced through: XYOracleNetwork/sdk-xyo-flutter@XYOracleNetwork/sdk-xyo-flutter#c98cc259eb70941c3349bcffa96c3ee211137c48 org.jetbrains.kotlin:kotlin-stdlib-jdk7@1.3.61 org.jetbrains.kotlin:kotlin-stdlib@1.3.61
    Remediation: Upgrade to org.jetbrains.kotlin:kotlin-stdlib-jdk7@2.1.0.
  • Introduced through: XYOracleNetwork/sdk-xyo-flutter@XYOracleNetwork/sdk-xyo-flutter#c98cc259eb70941c3349bcffa96c3ee211137c48 org.jetbrains.kotlinx:kotlinx-coroutines-core@1.3.3 org.jetbrains.kotlin:kotlin-stdlib@1.3.61
    Remediation: Upgrade to org.jetbrains.kotlinx:kotlinx-coroutines-core@1.4.3.

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