Vulnerabilities

8 via 21 paths

Dependencies

48

Source

GitHub

Commit

b290741f

Find, fix and prevent vulnerabilities in your code.

Issue type
  • 8
  • 1
Severity
  • 3
  • 1
  • 5
Status
  • 9
  • 0
  • 0

high severity

Uncontrolled Recursion

  • Vulnerable module: org.apache.commons:commons-lang3
  • Introduced through: org.apache.commons:commons-text@1.10.0

Detailed paths

  • Introduced through: JavaChat/OakBot@JavaChat/OakBot#b290741f3f9f7103e13172d9f3484ee95fcd4021 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.

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

Incorrect Authorization

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

Detailed paths

  • Introduced through: JavaChat/OakBot@JavaChat/OakBot#b290741f3f9f7103e13172d9f3484ee95fcd4021 org.springframework:spring-context@6.1.6 org.springframework:spring-core@6.1.6
    Remediation: Upgrade to org.springframework:spring-context@6.2.11.
  • Introduced through: JavaChat/OakBot@JavaChat/OakBot#b290741f3f9f7103e13172d9f3484ee95fcd4021 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.2.11.
  • Introduced through: JavaChat/OakBot@JavaChat/OakBot#b290741f3f9f7103e13172d9f3484ee95fcd4021 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.2.11.
  • Introduced through: JavaChat/OakBot@JavaChat/OakBot#b290741f3f9f7103e13172d9f3484ee95fcd4021 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.2.11.
  • Introduced through: JavaChat/OakBot@JavaChat/OakBot#b290741f3f9f7103e13172d9f3484ee95fcd4021 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.2.11.

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 Incorrect Authorization via the AnnotationsScanner and AnnotatedMethod class. An attacker can gain unauthorized access to sensitive information by exploiting improper resolution of annotations on methods within type hierarchies that use parameterized supertypes with unbounded generics.

Note: This is only exploitable if security annotations are used on methods in generic superclasses or generic interfaces and the @EnableMethodSecurity feature is enabled.

Remediation

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

References

high severity

Relative Path Traversal

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

Detailed paths

  • Introduced through: JavaChat/OakBot@JavaChat/OakBot#b290741f3f9f7103e13172d9f3484ee95fcd4021 org.springframework:spring-context@6.1.6 org.springframework:spring-beans@6.1.6
    Remediation: Upgrade to org.springframework:spring-context@6.2.10.
  • Introduced through: JavaChat/OakBot@JavaChat/OakBot#b290741f3f9f7103e13172d9f3484ee95fcd4021 org.springframework:spring-context@6.1.6 org.springframework:spring-aop@6.1.6 org.springframework:spring-beans@6.1.6
    Remediation: Upgrade to org.springframework:spring-context@6.2.10.

Overview

org.springframework:spring-beans is a package that is the basis for Spring Framework's IoC container. The BeanFactory interface provides an advanced configuration mechanism capable of managing any type of object.

Affected versions of this package are vulnerable to Relative Path Traversal when deployed on non-compliant Servlet containers. An unauthenticated attacker could gain access to files and directories outside the intended web root.

Notes:

  1. This is only exploitable if the application is deployed as a WAR or with an embedded Servlet container, the Servlet container does not reject suspicious sequences and the application serves static resources with Spring resource handling.

  2. Applications deployed on Apache Tomcat or Eclipse Jetty are not vulnerable, as long as default security features are not disabled in the configuration.

  3. This vulnerability was also fixed in the commercial versions 6.1.22 and 5.3.44.

Remediation

Upgrade org.springframework:spring-beans to version 6.2.10 or higher.

References

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#b290741f3f9f7103e13172d9f3484ee95fcd4021 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#b290741f3f9f7103e13172d9f3484ee95fcd4021 org.apache.httpcomponents:httpclient@4.5.14 commons-codec:commons-codec@1.11
  • Introduced through: JavaChat/OakBot@JavaChat/OakBot#b290741f3f9f7103e13172d9f3484ee95fcd4021 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#b290741f3f9f7103e13172d9f3484ee95fcd4021 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
    Remediation: Upgrade to net.dv8tion:JDA@6.0.0.
  • Introduced through: JavaChat/OakBot@JavaChat/OakBot#b290741f3f9f7103e13172d9f3484ee95fcd4021 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
    Remediation: Upgrade to net.dv8tion:JDA@6.0.0.
  • Introduced through: JavaChat/OakBot@JavaChat/OakBot#b290741f3f9f7103e13172d9f3484ee95fcd4021 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#b290741f3f9f7103e13172d9f3484ee95fcd4021 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

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#b290741f3f9f7103e13172d9f3484ee95fcd4021 org.springframework:spring-context@6.1.6
    Remediation: Upgrade to org.springframework:spring-context@6.1.20.

Overview

Affected versions of this package are vulnerable to Improper Handling of Case Sensitivity due to an incomplete fix for CVE-2024-38820, where it is still possible to bypass the disallowedFields checks.

Note:

This vulnerability was also fixed in commercial versions 6.0.28 and 5.3.43.

Remediation

Upgrade org.springframework:spring-context to version 6.1.20, 6.2.7 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#b290741f3f9f7103e13172d9f3484ee95fcd4021 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#b290741f3f9f7103e13172d9f3484ee95fcd4021 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#b290741f3f9f7103e13172d9f3484ee95fcd4021 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#b290741f3f9f7103e13172d9f3484ee95fcd4021 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#b290741f3f9f7103e13172d9f3484ee95fcd4021 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#b290741f3f9f7103e13172d9f3484ee95fcd4021 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.

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