JavaChat/OakBot

Vulnerabilities

4 via 12 paths

Dependencies

48

Source

GitHub

Commit

c40e0d54

Find, fix and prevent vulnerabilities in your code.

Issue type
  • 4
  • 1
Severity
  • 1
  • 4
Status
  • 5
  • 0
  • 0

medium severity

LGPL-2.1 license

  • Module: net.sf.trove4j:core
  • Introduced through: net.dv8tion:JDA@5.0.0-beta.24

Detailed paths

  • Introduced through: JavaChat/OakBot@JavaChat/OakBot#c40e0d54779f19d8321192df6773089fb14ef311 net.dv8tion:JDA@5.0.0-beta.24 net.sf.trove4j:core@3.1.0

LGPL-2.1 license

low severity

Information Exposure

  • Vulnerable module: commons-codec:commons-codec
  • Introduced through: org.apache.httpcomponents:httpclient@4.5.14 and org.apache.httpcomponents:httpmime@4.5.14

Detailed paths

  • Introduced through: JavaChat/OakBot@JavaChat/OakBot#c40e0d54779f19d8321192df6773089fb14ef311 org.apache.httpcomponents:httpclient@4.5.14 commons-codec:commons-codec@1.11
  • Introduced through: JavaChat/OakBot@JavaChat/OakBot#c40e0d54779f19d8321192df6773089fb14ef311 org.apache.httpcomponents:httpmime@4.5.14 org.apache.httpcomponents:httpclient@4.5.14 commons-codec:commons-codec@1.11

Overview

commons-codec:commons-codec is a package that contains simple encoder and decoders for various formats such as Base64 and Hexadecimal.

Affected versions of this package are vulnerable to Information Exposure. When there is no byte array value that can be encoded into a string the Base32 implementation does not reject it, and instead decodes it into an arbitrary value which can be re-encoded again using the same implementation. This allows for information exposure exploits such as tunneling additional information via seemingly valid base 32 strings.

Remediation

Upgrade commons-codec:commons-codec to version 1.14 or higher.

References

low severity

Information Exposure

  • Vulnerable module: org.jetbrains.kotlin:kotlin-stdlib
  • Introduced through: net.dv8tion:JDA@5.0.0-beta.24

Detailed paths

  • Introduced through: JavaChat/OakBot@JavaChat/OakBot#c40e0d54779f19d8321192df6773089fb14ef311 net.dv8tion:JDA@5.0.0-beta.24 com.squareup.okhttp3:okhttp@4.12.0 org.jetbrains.kotlin:kotlin-stdlib-jdk8@1.8.21 org.jetbrains.kotlin:kotlin-stdlib@1.8.21
  • Introduced through: JavaChat/OakBot@JavaChat/OakBot#c40e0d54779f19d8321192df6773089fb14ef311 net.dv8tion:JDA@5.0.0-beta.24 com.squareup.okhttp3:okhttp@4.12.0 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
  • Introduced through: JavaChat/OakBot@JavaChat/OakBot#c40e0d54779f19d8321192df6773089fb14ef311 net.dv8tion:JDA@5.0.0-beta.24 com.squareup.okhttp3:okhttp@4.12.0 com.squareup.okio:okio@3.6.0 com.squareup.okio:okio-jvm@3.6.0 org.jetbrains.kotlin:kotlin-stdlib-jdk8@1.8.21 org.jetbrains.kotlin:kotlin-stdlib@1.8.21
  • Introduced through: JavaChat/OakBot@JavaChat/OakBot#c40e0d54779f19d8321192df6773089fb14ef311 net.dv8tion:JDA@5.0.0-beta.24 com.squareup.okhttp3:okhttp@4.12.0 com.squareup.okio:okio@3.6.0 com.squareup.okio:okio-jvm@3.6.0 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

…and 1 more

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

Improper Handling of Case Sensitivity

  • Vulnerable module: org.springframework:spring-context
  • Introduced through: org.springframework:spring-context@6.1.6

Detailed paths

  • Introduced through: JavaChat/OakBot@JavaChat/OakBot#c40e0d54779f19d8321192df6773089fb14ef311 org.springframework:spring-context@6.1.6
    Remediation: Upgrade to org.springframework:spring-context@6.1.14.

Overview

Affected versions of this package are vulnerable to Improper Handling of Case Sensitivity due to String.toLowerCase() having some Locale dependent exceptions that could potentially result in fields not protected as expected.

Note:

The fix for CVE-2022-22968 made disallowedFields patterns in DataBinder case insensitive.

This vulnerability was also fixed in commercial versions 5.3.41 and 6.0.25.

Remediation

Upgrade org.springframework:spring-context to version 6.1.14 or higher.

References

low severity

Improper Handling of Case Sensitivity

  • Vulnerable module: org.springframework:spring-core
  • Introduced through: org.springframework:spring-context@6.1.6

Detailed paths

  • Introduced through: JavaChat/OakBot@JavaChat/OakBot#c40e0d54779f19d8321192df6773089fb14ef311 org.springframework:spring-context@6.1.6 org.springframework:spring-core@6.1.6
    Remediation: Upgrade to org.springframework:spring-context@6.1.14.
  • Introduced through: JavaChat/OakBot@JavaChat/OakBot#c40e0d54779f19d8321192df6773089fb14ef311 org.springframework:spring-context@6.1.6 org.springframework:spring-beans@6.1.6 org.springframework:spring-core@6.1.6
    Remediation: Upgrade to org.springframework:spring-context@6.1.14.
  • Introduced through: JavaChat/OakBot@JavaChat/OakBot#c40e0d54779f19d8321192df6773089fb14ef311 org.springframework:spring-context@6.1.6 org.springframework:spring-aop@6.1.6 org.springframework:spring-core@6.1.6
    Remediation: Upgrade to org.springframework:spring-context@6.1.14.
  • Introduced through: JavaChat/OakBot@JavaChat/OakBot#c40e0d54779f19d8321192df6773089fb14ef311 org.springframework:spring-context@6.1.6 org.springframework:spring-expression@6.1.6 org.springframework:spring-core@6.1.6
    Remediation: Upgrade to org.springframework:spring-context@6.1.14.
  • Introduced through: JavaChat/OakBot@JavaChat/OakBot#c40e0d54779f19d8321192df6773089fb14ef311 org.springframework:spring-context@6.1.6 org.springframework:spring-aop@6.1.6 org.springframework:spring-beans@6.1.6 org.springframework:spring-core@6.1.6
    Remediation: Upgrade to org.springframework:spring-context@6.1.14.

…and 2 more

Overview

org.springframework:spring-core is a core package within the spring-framework that contains multiple classes and utilities.

Affected versions of this package are vulnerable to Improper Handling of Case Sensitivity due to String.toLowerCase() having some Locale dependent exceptions that could potentially result in fields not protected as expected.

Note:

The fix for CVE-2022-22968 made disallowedFields patterns in DataBinder case insensitive.

This vulnerability was also fixed in commercial versions 5.3.41 and 6.0.25.

Remediation

Upgrade org.springframework:spring-core to version 6.1.14 or higher.

References